{"id":84430,"date":"2021-09-01T09:00:00","date_gmt":"2021-09-01T03:30:00","guid":{"rendered":"https:\/\/techvidvan.com\/tutorials\/?p=84430"},"modified":"2024-08-05T21:58:50","modified_gmt":"2024-08-05T16:28:50","slug":"android-alarm-manager","status":"publish","type":"post","link":"https:\/\/techvidvan.com\/tutorials\/android-alarm-manager\/","title":{"rendered":"Android Alarm Manager"},"content":{"rendered":"<p>Waking up early in the morning can be a challenging task for many. Most of us rely on someone or something to wake us up, usually an alarm. While you&#8217;re probably familiar with setting alarms on your device, have you ever wondered how they actually work? It&#8217;s all thanks to the AlarmManager in Android.<\/p>\n<p>In this article, we&#8217;ll explore every aspect of AlarmManager and guide you on how to develop your own alarm app to schedule alarms effortlessly. Sounds exciting? Yes, it is! So, let&#8217;s dive in and uncover the magic behind Android alarms.<\/p>\n<h3>About Alarm Manager<\/h3>\n<p>Alarm Manager is a class provided by Android to access the system\u2019s alarm services. The AlarmManager class allows you to schedule your application to run at a particular time. Even if you close your application or if your device goes to sleep still the alarm triggers at that particular time. Even if your device goes off, the alarm can wake up your device. But if you power off and reboot your system, then the intent gets deregistered, and you don\u2019t get the alarm triggered.<\/p>\n<p>You need to register an Intent to access the system\u2019s alarm service. Whenever a particular time is reached, then a broadcast is made to make the intent active. After the alarm is off, then the intent is deregistered from the broadcast.<\/p>\n<p>The AlarmManager holds on to your device\u2019s CPU Clock and releases it when it receives the <strong>onReceive()<\/strong> method.<\/p>\n<h4>Characteristics of AlarmManager:<\/h4>\n<p>1. AlarmManager schedules the intents to trigger at a specific time or time intervals. This is useful for setting reminders, notifications, or performing time-based operations in your app, ensuring they run at the precise time you intend.<\/p>\n<p>2. AlarmManager provides the application with the ability to run at a specific time. Even if the application is not running or your device falls asleep still the alarm can trigger to start your application. This feature is crucial for tasks like sending timely notifications or initiating background processes without user intervention.<\/p>\n<p>3. AlarmManager is used to minimise the requirement of many resources. By scheduling tasks efficiently, it reduces the need for constant background activity, thus conserving battery and system resources.<\/p>\n<p>4. AlarmManager allows you to operate with the broadcast receivers to start or stop specific services. This makes it easy to manage and automate service operations, enhancing the functionality and responsiveness of your application.<\/p>\n<p>5. AlarmManager holds your CPU clock and waits until we force it to stop or reboot our device. This ensures that the scheduled alarms are reliable and are executed as expected, providing a consistent user experience.<\/p>\n<p>Now let\u2019s see an example of how you can initialise AlarmManager and use it in your project.<\/p>\n<p><strong>Code:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">\/\/creating the AlarmManager object\r\n       val alarmManager = getSystemService(Context.ALARM_SERVICE) as AlarmManager\r\n\r\n       \/\/Creating an intent to the MyAlarm Class\r\n       val intent = Intent(this, MyAlarm::class.java)\r\n\r\n       \/\/setting up a pending intent\r\n       val yourPendingIntent = PendingIntent.getBroadcast(this, 999, intent, 0)\r\n       alarmManager.setRepeating(\r\n           AlarmManager.RTC,\r\n           timeInMillis,\r\n           AlarmManager.INTERVAL_DAY,\r\n           yourPendingIntent\r\n       )\r\n<\/pre>\n<h3>Methods involved in Alarm Manager<\/h3>\n<p>There are several methods that we can use to implement the AlarmManager properly in our projects. Each method has its significant use, and you are recommended to look at the purpose of each method before proceeding with the implementation.<\/p>\n<table>\n<tbody>\n<tr>\n<td><b>Method Name<\/b><\/td>\n<td><b>Purpose of the Method<\/b><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">set(type: Int, triggerAtMillis: Long, operation: PendingIntent!)<\/span><\/td>\n<td><span style=\"font-weight: 400;\">The set() method is used for setting alarms.<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">setExact(type: Int, triggerAtMillis: Long, operation: PendingIntent!)<\/span><\/td>\n<td><span style=\"font-weight: 400;\">The setExact() method is used to set alarms specifically at a specific time.\u00a0<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">setRepeating(type: Int, triggerAtMillis: Long, intervalMillis: Long, operation: PendingIntent!)<\/span><\/td>\n<td><span style=\"font-weight: 400;\">The setRepeating() method is used to set repeating alarms on your device.<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">setTimeZone(timeZone: String!)<\/span><\/td>\n<td><span style=\"font-weight: 400;\">The setTimeZone() method is used to set a new or default timezone for your alarms.\u00a0<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">setWindow(set_type: Int, StartMillis: Long, LengthMillis: Long, task_operation: yourPendingIntent!)<\/span><\/td>\n<td><span style=\"font-weight: 400;\">The setWindow() method is used to set a specific time slot during which your alarm should trigger.\u00a0<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">setAndAllowWhileIdle(type: Int, triggerAtMillis: Long, operation: PendingIntent!)<\/span><\/td>\n<td><span style=\"font-weight: 400;\">The setAndAllowWhileIdle() method sets alarms that can trigger even in low battery idle modes.\u00a0<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">getNextAlarmClock()<\/span><\/td>\n<td><span style=\"font-weight: 400;\">The getNextAlarmClock() gives us the details of the next alarm that is scheduled.\u00a0<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">cancel(operation: PendingIntent!)<\/span><\/td>\n<td><span style=\"font-weight: 400;\">The cancel method is used to discard the alarm matching the specified pending intent.\u00a0<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>Implementation of Alarm Manager in Android<\/h3>\n<p>Now let\u2019s see how you can implement AlarmManger and the above-seen concepts through an android app. We will try to develop an app using which you can schedule alarms for a particular time. Follow the below steps:<\/p>\n<p><strong>1:<\/strong> Start your Android Studio and click on Create a new Project.<\/p>\n<p><strong>2:<\/strong> Select an empty activity, provide project name, select API level 22 and then click finish.<\/p>\n<p><strong>3:<\/strong> First of all, open your AndroidManifest.xml file and then paste the below code.<\/p>\n<p><strong>Code: AndroidManifest.xml<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">&lt;?xml version=\"1.0\" encoding=\"utf-8\"?&gt;\r\n&lt;manifest xmlns:android=\"http:\/\/schemas.android.com\/apk\/res\/android\"\r\n    package=\"com.techvidvan.techvidvanalarm\"&gt;\r\n\r\n    &lt;application\r\n        android:allowBackup=\"true\"\r\n        android:icon=\"@mipmap\/ic_launcher\"\r\n        android:label=\"@string\/app_name\"\r\n        android:roundIcon=\"@mipmap\/ic_launcher_round\"\r\n        android:supportsRtl=\"true\"\r\n        android:theme=\"@style\/Theme.TechVidvanAlarm\"&gt;\r\n        &lt;activity android:name=\".MainActivity\"&gt;\r\n            &lt;intent-filter&gt;\r\n                &lt;action android:name=\"android.intent.action.MAIN\" \/&gt;\r\n\r\n                &lt;category android:name=\"android.intent.category.LAUNCHER\" \/&gt;\r\n            &lt;\/intent-filter&gt;\r\n        &lt;\/activity&gt;\r\n    &lt;\/application&gt;\r\n\r\n&lt;\/manifest&gt;\r\n<\/pre>\n<p><strong>4:<\/strong> Open your activity_main.xml file and paste in the below code there.<\/p>\n<p><strong>Code: activity_main.xml<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">&lt;?xml version=\"1.0\" encoding=\"utf-8\"?&gt;\r\n&lt;LinearLayout xmlns:android=\"http:\/\/schemas.android.com\/apk\/res\/android\"\r\n    xmlns:tools=\"http:\/\/schemas.android.com\/tools\"\r\n    android:layout_width=\"match_parent\"\r\n    android:layout_height=\"match_parent\"\r\n    android:orientation=\"vertical\"\r\n    tools:context=\".MainActivity\"&gt;\r\n\r\n    &lt;TextView\r\n        android:layout_width=\"match_parent\"\r\n        android:layout_height=\"wrap_content\"\r\n        android:text=\"TechVidvan Alarm App\"\r\n        android:textStyle=\"bold\"\r\n        android:textSize=\"30sp\"\r\n        android:gravity=\"center\"\r\n        android:textColor=\"#000000\"\r\n        android:layout_marginBottom=\"30dp\"\r\n        android:layout_marginTop=\"20dp\"\r\n        android:id=\"@+id\/title\"\/&gt;\r\n    &lt;TimePicker\r\n        android:id=\"@+id\/timePicker\"\r\n        android:layout_width=\"match_parent\"\r\n        android:layout_margin=\"20dp\"\r\n        android:layout_marginTop=\"50dp\"\r\n        android:headerBackground=\"#8BC34A\"\r\n        android:numbersBackgroundColor=\"#000\"\r\n        android:numbersTextColor=\"#ffffff\"\r\n        android:numbersSelectorColor=\"#8BC34A\"\r\n        android:layout_height=\"wrap_content\" \/&gt;\r\n    &lt;Button\r\n        android:id=\"@+id\/setAlarmButton\"\r\n        android:layout_width=\"wrap_content\"\r\n        android:layout_height=\"wrap_content\"\r\n        android:layout_marginTop=\"30dp\"\r\n        android:layout_gravity=\"center\"\r\n        android:backgroundTint=\"#000000\"\r\n        android:textColor=\"#8BC34A\"\r\n        android:textStyle=\"bold\"\r\n        android:text=\"Schedule Alarm\" \/&gt;\r\n\r\n&lt;\/LinearLayout&gt;\r\n<\/pre>\n<p><strong>5:<\/strong> Now, in your MainActivity.kt you need to set up the AlarmManager and the pending intent.<\/p>\n<p><strong>Code: MainActivity.kt<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">package com.techvidvan.techvidvanalarm\r\n\r\nimport android.app.AlarmManager\r\nimport android.app.PendingIntent\r\nimport android.content.BroadcastReceiver\r\nimport android.content.Context\r\nimport android.content.Intent\r\nimport android.os.Build\r\nimport android.os.Bundle\r\nimport android.util.Log\r\nimport android.widget.Button\r\nimport android.widget.TimePicker\r\nimport android.widget.Toast\r\nimport androidx.appcompat.app.AppCompatActivity\r\nimport java.util.*\r\nclass MainActivity : AppCompatActivity()\r\n{\r\n    \/\/declaring variables\r\n    lateinit var setAlarmButton: Button\r\n    lateinit var timePicker: TimePicker\r\n\r\n    override fun onCreate(savedInstanceState: Bundle?)\r\n    {\r\n        super.onCreate(savedInstanceState)\r\n        setContentView(R.layout.activity_main)\r\n\r\n        \/\/binding the timePicker variable with the TimePicker View\r\n        timePicker = findViewById(R.id.timePicker)\r\n        \/\/binding the setAlarmButton variable with the Schedule Alarm Button\r\n        setAlarmButton = findViewById(R.id.setAlarmButton)\r\n\r\n        \/\/adding on click listener on our setAlarmButton\r\n        setAlarmButton.setOnClickListener {\r\n\r\n            \/\/creating an instance of the calendar class\r\n            val calendar: Calendar = Calendar.getInstance()\r\n\r\n            \/\/setting up the calendar\r\n            if (Build.VERSION.SDK_INT &gt;= 23)\r\n            {\r\n                calendar.set(\r\n                    calendar.get(Calendar.YEAR),\r\n                    calendar.get(Calendar.MONTH),\r\n                    calendar.get(Calendar.DAY_OF_MONTH),\r\n                    timePicker.hour,\r\n                    timePicker.minute,\r\n                    0\r\n                )\r\n            }\r\n            else\r\n            {\r\n                calendar.set(\r\n                    calendar.get(Calendar.YEAR),\r\n                    calendar.get(Calendar.MONTH),\r\n                    calendar.get(Calendar.DAY_OF_MONTH),\r\n                    timePicker.currentHour,\r\n                    timePicker.currentMinute, 0\r\n                )\r\n            }\r\n\r\n            \/\/calling the setAlarm method with time in milliseconds\r\n            setAlarm(calendar.timeInMillis)\r\n        }\r\n    }\r\n    private fun setAlarm(timeInMillis: Long)\r\n    {\r\n        \/\/creating the AlarmManager object\r\n        val alarmManager = getSystemService(Context.ALARM_SERVICE) as AlarmManager\r\n\r\n        \/\/Creating an intent to the MyAlarm Class\r\n        val intent = Intent(this, MyAlarm::class.java)\r\n\r\n        \/\/setting up a pending intent\r\n        val yourPendingIntent = PendingIntent.getBroadcast(this, 999, intent, 0)\r\n        alarmManager.setRepeating(\r\n            AlarmManager.RTC,\r\n            timeInMillis,\r\n            AlarmManager.INTERVAL_DAY,\r\n            yourPendingIntent\r\n        )\r\n\r\n        \/\/displaying the user that the alarm is scheduled\r\n        Toast.makeText(this, \"You Alarm is Scheduled\", Toast.LENGTH_SHORT).show()\r\n    }\r\n\r\n    \/\/creating the MyAlarm class extending properties from BroadcastReceiver\r\n    private class MyAlarm : BroadcastReceiver()\r\n    {\r\n        \/\/calling the onReceive Method when the alarm is triggered\r\n        override fun onReceive(\r\n            context: Context,\r\n            intent: Intent\r\n        ) {\r\n            Log.d(\"TechVidvan\", \"Your Alarm is triggered\")\r\n        }\r\n    }\r\n}\r\n<\/pre>\n<p>Run your application by using the top right play button and then notice the output.<\/p>\n<p>The TechVidvan Alarm App will look like below.<\/p>\n<p><a href=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/sites\/2\/2021\/08\/App_Output_1-3.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-84474\" src=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/sites\/2\/2021\/08\/App_Output_1-3.jpg\" alt=\"Android Alarmmanager\" width=\"1080\" height=\"2280\" \/><\/a><\/p>\n<p>You can now select the time where you want your alarm to get scheduled.<\/p>\n<p><a href=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/sites\/2\/2021\/08\/App_Output_2-3.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-84476\" src=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/sites\/2\/2021\/08\/App_Output_2-3.jpg\" alt=\"Android Alarmmanager\" width=\"1080\" height=\"2280\" \/><\/a><\/p>\n<p>Now when you schedule your alarm, you get a Toast stating, \u201cYour Alarm is Scheduled.\u201d<\/p>\n<p><a href=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/sites\/2\/2021\/08\/App_Output_3-2.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-84477\" src=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/sites\/2\/2021\/08\/App_Output_3-2.jpg\" alt=\"Android Alarm Manager\" width=\"1080\" height=\"2280\" \/><\/a><\/p>\n<h3>Summary<\/h3>\n<p>Through this article, you came across AlarmManager and saw how it is used to schedule alarms. You saw the various characteristics of using an AlarmManager and also got to know how you could create an AlarmManager object in your Kotlin class. Later on, you saw several methods that can be used to implement the AlarmManager in your project. Finally, you saw an app implementation of the AlarmManager and came across scheduling the alarms.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Waking up early in the morning can be a challenging task for many. Most of us rely on someone or something to wake us up, usually an alarm. While you&#8217;re probably familiar with setting&#46;&#46;&#46;<\/p>\n","protected":false},"author":1,"featured_media":84473,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2791],"tags":[4165,4166,4167],"class_list":["post-84430","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-android","tag-android-alarm-manager","tag-implementation-of-alarm-manager","tag-methods-involved-in-alarm-manager"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Android Alarm Manager - TechVidvan<\/title>\n<meta name=\"description\" content=\"Learn what is Alarm Manager, its characteristics and how it is used to schedule alarms. Implement Alarm Manager using Android in easy steps.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/techvidvan.com\/tutorials\/android-alarm-manager\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Android Alarm Manager - TechVidvan\" \/>\n<meta property=\"og:description\" content=\"Learn what is Alarm Manager, its characteristics and how it is used to schedule alarms. Implement Alarm Manager using Android in easy steps.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/techvidvan.com\/tutorials\/android-alarm-manager\/\" \/>\n<meta property=\"og:site_name\" content=\"TechVidvan\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/TechVidvan\/\" \/>\n<meta property=\"article:published_time\" content=\"2021-09-01T03:30:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-08-05T16:28:50+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2021\/08\/Android-AlarmManager-1.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"628\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"TechVidvan Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@vidvantech\" \/>\n<meta name=\"twitter:site\" content=\"@vidvantech\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"TechVidvan Team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Android Alarm Manager - TechVidvan","description":"Learn what is Alarm Manager, its characteristics and how it is used to schedule alarms. Implement Alarm Manager using Android in easy steps.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/techvidvan.com\/tutorials\/android-alarm-manager\/","og_locale":"en_US","og_type":"article","og_title":"Android Alarm Manager - TechVidvan","og_description":"Learn what is Alarm Manager, its characteristics and how it is used to schedule alarms. Implement Alarm Manager using Android in easy steps.","og_url":"https:\/\/techvidvan.com\/tutorials\/android-alarm-manager\/","og_site_name":"TechVidvan","article_publisher":"https:\/\/www.facebook.com\/TechVidvan\/","article_published_time":"2021-09-01T03:30:00+00:00","article_modified_time":"2024-08-05T16:28:50+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2021\/08\/Android-AlarmManager-1.jpg","type":"image\/jpeg"}],"author":"TechVidvan Team","twitter_card":"summary_large_image","twitter_creator":"@vidvantech","twitter_site":"@vidvantech","twitter_misc":{"Written by":"TechVidvan Team","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/techvidvan.com\/tutorials\/android-alarm-manager\/#article","isPartOf":{"@id":"https:\/\/techvidvan.com\/tutorials\/android-alarm-manager\/"},"author":{"name":"TechVidvan Team","@id":"https:\/\/techvidvan.com\/tutorials\/#\/schema\/person\/e9c26e74dd3d87421f7ada9433b8cd22"},"headline":"Android Alarm Manager","datePublished":"2021-09-01T03:30:00+00:00","dateModified":"2024-08-05T16:28:50+00:00","mainEntityOfPage":{"@id":"https:\/\/techvidvan.com\/tutorials\/android-alarm-manager\/"},"wordCount":908,"commentCount":0,"publisher":{"@id":"https:\/\/techvidvan.com\/tutorials\/#organization"},"image":{"@id":"https:\/\/techvidvan.com\/tutorials\/android-alarm-manager\/#primaryimage"},"thumbnailUrl":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2021\/08\/Android-AlarmManager-1.jpg","keywords":["Android Alarm Manager","Implementation of Alarm Manager","Methods involved in Alarm Manager"],"articleSection":["Android Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/techvidvan.com\/tutorials\/android-alarm-manager\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/techvidvan.com\/tutorials\/android-alarm-manager\/","url":"https:\/\/techvidvan.com\/tutorials\/android-alarm-manager\/","name":"Android Alarm Manager - TechVidvan","isPartOf":{"@id":"https:\/\/techvidvan.com\/tutorials\/#website"},"primaryImageOfPage":{"@id":"https:\/\/techvidvan.com\/tutorials\/android-alarm-manager\/#primaryimage"},"image":{"@id":"https:\/\/techvidvan.com\/tutorials\/android-alarm-manager\/#primaryimage"},"thumbnailUrl":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2021\/08\/Android-AlarmManager-1.jpg","datePublished":"2021-09-01T03:30:00+00:00","dateModified":"2024-08-05T16:28:50+00:00","description":"Learn what is Alarm Manager, its characteristics and how it is used to schedule alarms. Implement Alarm Manager using Android in easy steps.","breadcrumb":{"@id":"https:\/\/techvidvan.com\/tutorials\/android-alarm-manager\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/techvidvan.com\/tutorials\/android-alarm-manager\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/techvidvan.com\/tutorials\/android-alarm-manager\/#primaryimage","url":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2021\/08\/Android-AlarmManager-1.jpg","contentUrl":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2021\/08\/Android-AlarmManager-1.jpg","width":1200,"height":628,"caption":"Android Alarm Manager"},{"@type":"BreadcrumbList","@id":"https:\/\/techvidvan.com\/tutorials\/android-alarm-manager\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/techvidvan.com\/tutorials\/"},{"@type":"ListItem","position":2,"name":"Android Alarm Manager"}]},{"@type":"WebSite","@id":"https:\/\/techvidvan.com\/tutorials\/#website","url":"https:\/\/techvidvan.com\/tutorials\/","name":"TechVidvan Blogs","description":"","publisher":{"@id":"https:\/\/techvidvan.com\/tutorials\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/techvidvan.com\/tutorials\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/techvidvan.com\/tutorials\/#organization","name":"TechVidvan","url":"https:\/\/techvidvan.com\/tutorials\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/techvidvan.com\/tutorials\/#\/schema\/logo\/image\/","url":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2024\/03\/techvidvan-logo-200x50-1.webp","contentUrl":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2024\/03\/techvidvan-logo-200x50-1.webp","width":200,"height":50,"caption":"TechVidvan"},"image":{"@id":"https:\/\/techvidvan.com\/tutorials\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/TechVidvan\/","https:\/\/x.com\/vidvantech"]},{"@type":"Person","@id":"https:\/\/techvidvan.com\/tutorials\/#\/schema\/person\/e9c26e74dd3d87421f7ada9433b8cd22","name":"TechVidvan Team","description":"The TechVidvan Team delivers practical, beginner-friendly tutorials on programming, Java, Python, C++, DSA, AI, ML, data Science, Android, Flutter, MERN, Web Development, and technology. Our experts are here to help you upskill and excel in today\u2019s tech industry."}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/posts\/84430","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/comments?post=84430"}],"version-history":[{"count":2,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/posts\/84430\/revisions"}],"predecessor-version":[{"id":447608,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/posts\/84430\/revisions\/447608"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/media\/84473"}],"wp:attachment":[{"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/media?parent=84430"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/categories?post=84430"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/tags?post=84430"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}