{"id":632,"date":"2017-06-21T05:49:16","date_gmt":"2017-06-21T05:49:16","guid":{"rendered":"http:\/\/devser.net\/moveoapps-redesign\/blog\/?p=632"},"modified":"2018-12-06T09:52:12","modified_gmt":"2018-12-06T09:52:12","slug":"how-to-code-android-app-shortcuts-like-a-pro","status":"publish","type":"post","link":"https:\/\/www.moveoapps.com\/blog\/how-to-code-android-app-shortcuts-like-a-pro\/","title":{"rendered":"How To Code Android App Shortcuts Like A Pro"},"content":{"rendered":"<p>With the new Android Nougat update, Google has introduced a number of<a href=\"https:\/\/developer.android.com\/about\/versions\/nougat\/android-7.0.html\" target=\"_blank\" rel=\"noopener\"> interesting features\u00a0<\/a>like Multi-Window Support, Direct Reply from Notification, Quick Settings Tile API, VR Support, and Image Keyboard Support. Among all these features, we will shed light on App Shortcuts.<!--more--><\/p>\n<p>App Shortcuts were introduced in Android 7.1 (API level 25). App Shortcuts allow users to perform multiple actions within a short period of time with relatively less effort. Shortcuts let users quickly start common or recommended tasks within your app.<\/p>\n<p>You can have a maximum of five Shortcuts at a time for your application.<\/p>\n<p>Users want to finish tasks in as few clicks as possible with minimal navigation. That\u2019s exactly what App Shortcuts let us do. Some of the tasks that can be easily performed with App Shortcuts are:<\/p>\n<p><strong>\u00a0 \u00a0 1)<\/strong> Opening your company website<br \/>\n<strong>\u00a0 \u00a0 2)<\/strong> Replying to the conversation you had previously<br \/>\n<strong>\u00a0 \u00a0 3)<\/strong> Playing\/Pausing the media your app is playing currently<br \/>\n<strong>\u00a0 \u00a0 4)<\/strong> Logging out of the application<\/p>\n<p>Two types of App Shortcuts are available:<\/p>\n<p><strong>Static:<\/strong> This cannot be changed until you make a change in the file and re-install it on a device.<\/p>\n<p><strong>Dynamic:<\/strong> This can be changed during runtime also. You can make a change without re-installing it on the device.<\/p>\n<p>By defining your common tasks into shortcuts, you can allow users to perform those action without spending much time navigating through various screens.<\/p>\n<p>App Shortcuts can be launched by long-pressing on Application icon.<\/p>\n<h2><strong><b>Static Shortcuts<\/b><\/strong><\/h2>\n<p>Using static shortcuts in an application is very simple. Let\u2019s see how your coding will be affected.<\/p>\n<p>Define following meta-data tag in your <strong>AndroidManifest.xml<\/strong><\/p>\n<pre>&lt;application ...&gt;\r\n ...\r\n &lt;activity&gt;\r\n &lt;\/activity&gt;\r\n \u2026\r\n \u2026\r\n\r\n &lt;meta-data\r\n android:name=\"android.app.shortcuts\"\r\n android:resource=\"@xml\/shortcuts\" \/&gt;\r\n&lt;\/application&gt;<\/pre>\n<p>Here, android:resource will the source of your shortcuts. Create <strong>shortcuts.xml<\/strong> file under <strong>res\/xml<\/strong> folder. Here, you can define all your static shortcuts.<\/p>\n<pre>&lt;?xml version=\"1.0\" encoding=\"utf-8\"?&gt;\r\n&lt;shortcuts xmlns:android=\"http:\/\/schemas.android.com\/apk\/res\/android\"&gt;\r\n &lt;shortcut\r\n android:icon=\"@mipmap\/ic_launcher\"\r\n android:enabled=\"true\"\r\n android:shortcutDisabledMessage=\"@string\/disabled_message_text\"\r\n android:shortcutLongLabel=\"@string\/shortcut_long_text\"\r\n android:shortcutShortLabel=\"@string\/shortcut_short_text\"&gt;\r\n \r\n &lt;intent\r\n android:action=\"android.intent.action.VIEW\"\r\n android:targetClass=\"&lt;applicationId&gt;.SecondActivity\"\r\n android:targetPackage=\"&lt;applicationId&gt;\" \/&gt;\r\n \r\n &lt;\/shortcut&gt;\r\n&lt;\/shortcuts&gt;<\/pre>\n<p>As you can see, the root element is &lt;shortcuts&gt;, inside which you can define multiple shortcuts using &lt;shortcut&gt; tag.<\/p>\n<p>Properties used with &lt;shortcut&gt; tag:<\/p>\n<p><strong>Icon:<\/strong> It will be shown as an image on the left side of the shortcut.<\/p>\n<p><strong>Enabled:<\/strong> It indicates whether or not shortcut will be enabled. If enabled = \u201cfalse\u201d, it won\u2019t be shown when user long-presses on the Application icon.<\/p>\n<p><strong>ShortcutDisabledMessage:<\/strong> A string shown to users if they try to launch a disabled shortcut pinned to their home screen.<\/p>\n<p><strong>ShortcutLongLabel:<\/strong> This text will be shown if shortcut launcher gets enough space.<\/p>\n<p><strong>ShortcutShortLabel:<\/strong> This is a mandatory field. This text will be shown to most users when they see your shortcut on launcher.<\/p>\n<p><strong>Intent:<\/strong> Define an intent which will be launched when users click on any shortcut.<\/p>\n<p><strong>Note:<\/strong> Don\u2019t forget to mention your <strong>applicationId<\/strong> in android:targetClass and android:targetPackage, otherwise you may get <strong>App isn\u2019t installed<\/strong> error.<\/p>\n<p>The output of the above code will be as follows:<\/p>\n<div align=\"center\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-633 size-full\" src=\"https:\/\/www.moveoapps.com\/blog\/wp-content\/uploads\/2017\/06\/static1.gif\" alt=\"\" width=\"460\" height=\"820\" \/><\/div>\n<p>It looks very simple, but did you notice one thing? Upon pressing the \u2018Back\u2019 button on the application launched, it closes the app and shows the home screen. This doesn\u2019t seem correct. Instead, users should be moved to the main screen of application.<\/p>\n<p>To do this, you need to add one more intent inside &lt;shortcut&gt; tag and you are done.<\/p>\n<pre>&lt;shortcut\r\n ...\r\n\r\n &lt;intent\r\n android:action=\"android.intent.action.MAIN\"\r\n android:targetClass=\"&lt;applicationId&gt;.MainActivity\"\r\n android:targetPackage=\"&lt;applicationId&gt;\" \/&gt;\r\n\r\n &lt;intent\r\n android:action=\"android.intent.action.VIEW\"\r\n android:targetClass=\"&lt;applicationId&gt;.SecondActivity\"\r\n android:targetPackage=\"&lt;applicationId&gt;\" \/&gt;\r\n\r\n &lt;\/shortcut&gt;<\/pre>\n<p>Make sure you add <em>android:action=&#8221;android.intent.action.MAIN&#8221;<\/em> inside &lt;intent&gt; for your main screen. Now every time users press \u2018Back\u2019 from SecondActivity, he\/she will be moved to the MainActivity.<\/p>\n<div align=\"center\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-634 size-full\" src=\"https:\/\/www.moveoapps.com\/blog\/wp-content\/uploads\/2017\/06\/static2.gif\" alt=\"\" width=\"460\" height=\"820\" \/><\/div>\n<p>That\u2019s all there is about static shortcuts. Isn\u2019t that simple? Now let\u2019s move on to dynamic shortcuts.<\/p>\n<h2><strong><b>Dynamic Shortcuts<\/b><\/strong><\/h2>\n<p>Dynamic shortcuts allow users to define shortcuts during runtime. Behaviour of each shortcut will be defined programmatically. This means we don\u2019t need any kind of <strong>shortcuts.xml<\/strong><\/p>\n<p><a href=\"https:\/\/developer.android.com\/reference\/android\/content\/pm\/ShortcutManager.html\" target=\"_blank\" rel=\"noopener\">ShortcutManager<\/a> is used to manage all the dynamic Shortcuts. <a href=\"https:\/\/developer.android.com\/reference\/android\/content\/pm\/ShortcutInfo.html\" target=\"_blank\" rel=\"noopener\">ShortcutInfo<\/a> represents single shortcut, which will then be added to ShortcutManager via <a href=\"https:\/\/developer.android.com\/reference\/android\/content\/pm\/ShortcutInfo.Builder.html\" target=\"_blank\" rel=\"noopener\">ShortcutInfo.Builder<\/a>.<\/p>\n<p>Let\u2019s consider a sample code to get a better idea.<\/p>\n<pre>ShortcutManager shortcutManager = getSystemService(ShortcutManager.class);\r\n\r\nIntent thirdIntent = new Intent(this,ThirdActivity.class);\r\nthirdIntent.setAction(Intent.ACTION_VIEW);\r\n\r\nShortcutInfo thirdScreenShortcut = new ShortcutInfo.Builder(this, \"shortcut_third\")\r\n .setShortLabel(\"Third Activity\")\r\n .setLongLabel(\"This is long description for Third Activity\")\r\n .setIcon(Icon.createWithResource(this, R.mipmap.ic_launcher))\r\n .setIntent(thirdIntent)\r\n .build();\r\n shortcutManager.setDynamicShortcuts(Collections.singletonList(thirdScreenShortcut));<\/pre>\n<p>All the methods remain the same as static shortcuts. The only change that can be seen is in the ID. Shortcut ID will be given in ShortcutInfo.Builder(). As you can see here, we have used shortcut_third as an ID of the shortcut.<\/p>\n<p>Once you are done with setting all the properties of shortcut using ShortcutInfo.Builder(), we will add that in ShortcutManager as a list using <a href=\"https:\/\/developer.android.com\/reference\/android\/content\/pm\/ShortcutManager.html#setDynamicShortcuts(java.util.List%3Candroid.content.pm.ShortcutInfo%3E)\" target=\"_blank\" rel=\"noopener\">setDynamicShortcuts()<\/a>.<\/p>\n<div align=\"center\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-635 size-full\" src=\"https:\/\/www.moveoapps.com\/blog\/wp-content\/uploads\/2017\/06\/dynamic1.gif\" alt=\"\" width=\"460\" height=\"820\" \/><\/div>\n<p>Now let\u2019s see how to create back stack for dynamic shortcuts. It is almost the same as what we have done in static shortcuts.<\/p>\n<pre>Intent thirdIntent = new Intent(this, ThirdActivity.class);\r\nthirdIntent.setAction(Intent.ACTION_VIEW);\r\n\r\nShortcutInfo thirdScreenShortcut = new ShortcutInfo.Builder(this, \"shortcut_third\")\r\n .setShortLabel(\"Third Activity\")\r\n .setLongLabel(\"This is long description for Third Activity\")\r\n .setIcon(Icon.createWithResource(this, R.mipmap.ic_launcher))\r\n .setIntents(new Intent[]{\r\n new Intent(Intent.ACTION_MAIN, Uri.EMPTY, this, MainActivity.class).setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK),\r\n thirdIntent\r\n })\r\n .build();<\/pre>\n<p>You only need to add one more Intent with the reference of MainActivity or your home activity. Every time users open the shortcut and press the \u2018Back\u2019 button, MainActivity will be opened instead of directly moving to home screen.<\/p>\n<div align=\"center\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-636 size-full\" src=\"https:\/\/www.moveoapps.com\/blog\/wp-content\/uploads\/2017\/06\/dynamic2.gif\" alt=\"\" width=\"460\" height=\"820\" \/><\/div>\n<p>As the name suggests, it is dynamic; so there should be a way to perform certain operations at runtime too. Let us see a few of them.<\/p>\n<h2><strong><b>Update Shortcut Text at Runtime<\/b><\/strong><\/h2>\n<p>We can change\/update the name of shortcuts according to our needs. We need to use ShortcutInfo object and <a href=\"https:\/\/developer.android.com\/reference\/android\/content\/pm\/ShortcutManager.html#updateShortcuts(java.util.List%3Candroid.content.pm.ShortcutInfo%3E)\" target=\"_blank\" rel=\"noopener\">updateShortcuts()<\/a> of ShortcutManager.<\/p>\n<pre>findViewById(R.id.btnChnageText).setOnClickListener(new View.OnClickListener() {\r\n @Override\r\n public void onClick(View v) {\r\n ShortcutInfo thirdShortcut = new ShortcutInfo.Builder(MainActivity.this, \"shortcut_third\")\r\n .setShortLabel(\"Changed Third Activity\")\r\n .build();\r\n\r\n shortcutManager.updateShortcuts(Arrays.asList(thirdShortcut));\r\n }\r\n });<\/pre>\n<p>Here, we are updating the text of \u201cThird Activity\u201d to \u201cChanged Third Activity\u201d. In order to perform this action, we need to reference the shortcut we created earlier. We will get ShortcutInfo object by using shortcut ID. In our case, it will be \u201cshortcut_third\u201d.<\/p>\n<p>To update in ShortcutManager, we need to use updateShortcuts() which will update all the given shortcuts. It accepts the list of ShortcutInfo.<\/p>\n<p>Output will be as follows:<\/p>\n<div align=\"center\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-637 size-full\" src=\"https:\/\/www.moveoapps.com\/blog\/wp-content\/uploads\/2017\/06\/settext.gif\" alt=\"\" width=\"460\" height=\"820\" \/><\/div>\n<h2><strong><b>Update Shortcut Order at Runtime<\/b><\/strong><\/h2>\n<p>We need to use setRank() method in order to change the display order of all the shortcuts.<\/p>\n<p>To understand this scenario, we have created one more dynamic shortcut with ID \u201cshortcut_four\u201d<\/p>\n<pre>ShortcutInfo thirdShortcut = new ShortcutInfo.Builder(MainActivity.this, \"shortcut_third\")\r\n .setRank(2)\r\n .build();\r\n\r\n ShortcutInfo fourthShortcut = new ShortcutInfo.Builder(MainActivity.this, \"shortcut_four\")\r\n .setRank(1)\r\n .build();\r\n\r\n shortcutManager.updateShortcuts(Arrays.asList(thirdShortcut,fourthShortcut));<\/pre>\n<p>setRank() will accept non-negative value. The shortcut that has the higher value will be displayed on top. In the above code, we can see that the third shortcut has the higher value, so it is displayed on top after updating it.<\/p>\n<div align=\"center\"><a href=\"https:\/\/www.moveoapps.com\/blog\/wp-content\/uploads\/2017\/06\/setrank.gif\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-638 size-full\" src=\"https:\/\/www.moveoapps.com\/blog\/wp-content\/uploads\/2017\/06\/setrank.gif\" alt=\"\" width=\"460\" height=\"820\" \/><\/a><\/div>\n<p>So, that is all about App Shortcuts. If you have done something interesting with App Shortcuts, do share it with us so that other people can also know about it.<\/p>\n<p>Happy coding!<br \/>\n<script type=\"text\/javascript\" src=\"\/\/newsharecounts.s3-us-west-2.amazonaws.com\/nsc.js\"><\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>With the new Android Nougat update, Google has introduced a number of interesting features\u00a0like Multi-Window Support, Direct Reply from Notification, Quick Settings Tile API, VR Support, and Image Keyboard Support. Among all these features, we will shed light on App Shortcuts.<\/p>\n","protected":false},"author":4,"featured_media":1398,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[31],"tags":[],"class_list":["post-632","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-android"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.9 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>How to code android app shortcuts like a pro<\/title>\n<meta name=\"description\" content=\"App Shortcuts allow users to perform multiple actions within a short period of time with less effort. Users can quickly start common or recommended tasks.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.moveoapps.com\/blog\/how-to-code-android-app-shortcuts-like-a-pro\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to code android app shortcuts like a pro\" \/>\n<meta property=\"og:description\" content=\"App Shortcuts allow users to perform multiple actions within a short period of time with less effort. Users can quickly start common or recommended tasks.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.moveoapps.com\/blog\/how-to-code-android-app-shortcuts-like-a-pro\/\" \/>\n<meta property=\"og:site_name\" content=\"Moveo Apps\" \/>\n<meta property=\"article:published_time\" content=\"2017-06-21T05:49:16+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2018-12-06T09:52:12+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.moveoapps.com\/blog\/wp-content\/uploads\/2017\/06\/How-To-Code-Android-App-Shortcuts-Like-A-Pro.png\" \/>\n\t<meta property=\"og:image:width\" content=\"2560\" \/>\n\t<meta property=\"og:image:height\" content=\"1294\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Hiral Atha\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Hiral Atha\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.moveoapps.com\/blog\/how-to-code-android-app-shortcuts-like-a-pro\/\",\"url\":\"https:\/\/www.moveoapps.com\/blog\/how-to-code-android-app-shortcuts-like-a-pro\/\",\"name\":\"How to code android app shortcuts like a pro\",\"isPartOf\":{\"@id\":\"https:\/\/www.moveoapps.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.moveoapps.com\/blog\/how-to-code-android-app-shortcuts-like-a-pro\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.moveoapps.com\/blog\/how-to-code-android-app-shortcuts-like-a-pro\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.moveoapps.com\/blog\/wp-content\/uploads\/2017\/06\/How-To-Code-Android-App-Shortcuts-Like-A-Pro.png\",\"datePublished\":\"2017-06-21T05:49:16+00:00\",\"dateModified\":\"2018-12-06T09:52:12+00:00\",\"author\":{\"@id\":\"https:\/\/www.moveoapps.com\/blog\/#\/schema\/person\/4a857393407cf203bde5d43e8b11b340\"},\"description\":\"App Shortcuts allow users to perform multiple actions within a short period of time with less effort. Users can quickly start common or recommended tasks.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.moveoapps.com\/blog\/how-to-code-android-app-shortcuts-like-a-pro\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.moveoapps.com\/blog\/how-to-code-android-app-shortcuts-like-a-pro\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.moveoapps.com\/blog\/how-to-code-android-app-shortcuts-like-a-pro\/#primaryimage\",\"url\":\"https:\/\/www.moveoapps.com\/blog\/wp-content\/uploads\/2017\/06\/How-To-Code-Android-App-Shortcuts-Like-A-Pro.png\",\"contentUrl\":\"https:\/\/www.moveoapps.com\/blog\/wp-content\/uploads\/2017\/06\/How-To-Code-Android-App-Shortcuts-Like-A-Pro.png\",\"width\":2560,\"height\":1294},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.moveoapps.com\/blog\/how-to-code-android-app-shortcuts-like-a-pro\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.moveoapps.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How To Code Android App Shortcuts Like A Pro\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.moveoapps.com\/blog\/#website\",\"url\":\"https:\/\/www.moveoapps.com\/blog\/\",\"name\":\"Moveo Apps\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.moveoapps.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.moveoapps.com\/blog\/#\/schema\/person\/4a857393407cf203bde5d43e8b11b340\",\"name\":\"Hiral Atha\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.moveoapps.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/www.moveoapps.com\/blog\/wp-content\/uploads\/2019\/08\/Large-Photo-copy-96x96.png\",\"contentUrl\":\"https:\/\/www.moveoapps.com\/blog\/wp-content\/uploads\/2019\/08\/Large-Photo-copy-96x96.png\",\"caption\":\"Hiral Atha\"},\"description\":\"Hiral Atha is the Founder and CEO of Moveoapps. With a decade of proficiency in building digital platforms that drive innovation and user engagement, Hiral has helped businesses outshine competitors and captivate audiences. Armed with a deep understanding of market dynamics and emerging trends, Hiral has implemented strategic initiatives that have positioned businesses as market leaders, capitalizing on emerging opportunities.\",\"sameAs\":[\"http:\/\/www.moveoapps.com\/\",\"https:\/\/www.linkedin.com\/in\/hiral-atha-0a110b25\/\"],\"url\":\"https:\/\/www.moveoapps.com\/blog\/author\/hiral-atha\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How to code android app shortcuts like a pro","description":"App Shortcuts allow users to perform multiple actions within a short period of time with less effort. Users can quickly start common or recommended tasks.","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:\/\/www.moveoapps.com\/blog\/how-to-code-android-app-shortcuts-like-a-pro\/","og_locale":"en_US","og_type":"article","og_title":"How to code android app shortcuts like a pro","og_description":"App Shortcuts allow users to perform multiple actions within a short period of time with less effort. Users can quickly start common or recommended tasks.","og_url":"https:\/\/www.moveoapps.com\/blog\/how-to-code-android-app-shortcuts-like-a-pro\/","og_site_name":"Moveo Apps","article_published_time":"2017-06-21T05:49:16+00:00","article_modified_time":"2018-12-06T09:52:12+00:00","og_image":[{"width":2560,"height":1294,"url":"https:\/\/www.moveoapps.com\/blog\/wp-content\/uploads\/2017\/06\/How-To-Code-Android-App-Shortcuts-Like-A-Pro.png","type":"image\/png"}],"author":"Hiral Atha","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Hiral Atha","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.moveoapps.com\/blog\/how-to-code-android-app-shortcuts-like-a-pro\/","url":"https:\/\/www.moveoapps.com\/blog\/how-to-code-android-app-shortcuts-like-a-pro\/","name":"How to code android app shortcuts like a pro","isPartOf":{"@id":"https:\/\/www.moveoapps.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.moveoapps.com\/blog\/how-to-code-android-app-shortcuts-like-a-pro\/#primaryimage"},"image":{"@id":"https:\/\/www.moveoapps.com\/blog\/how-to-code-android-app-shortcuts-like-a-pro\/#primaryimage"},"thumbnailUrl":"https:\/\/www.moveoapps.com\/blog\/wp-content\/uploads\/2017\/06\/How-To-Code-Android-App-Shortcuts-Like-A-Pro.png","datePublished":"2017-06-21T05:49:16+00:00","dateModified":"2018-12-06T09:52:12+00:00","author":{"@id":"https:\/\/www.moveoapps.com\/blog\/#\/schema\/person\/4a857393407cf203bde5d43e8b11b340"},"description":"App Shortcuts allow users to perform multiple actions within a short period of time with less effort. Users can quickly start common or recommended tasks.","breadcrumb":{"@id":"https:\/\/www.moveoapps.com\/blog\/how-to-code-android-app-shortcuts-like-a-pro\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.moveoapps.com\/blog\/how-to-code-android-app-shortcuts-like-a-pro\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.moveoapps.com\/blog\/how-to-code-android-app-shortcuts-like-a-pro\/#primaryimage","url":"https:\/\/www.moveoapps.com\/blog\/wp-content\/uploads\/2017\/06\/How-To-Code-Android-App-Shortcuts-Like-A-Pro.png","contentUrl":"https:\/\/www.moveoapps.com\/blog\/wp-content\/uploads\/2017\/06\/How-To-Code-Android-App-Shortcuts-Like-A-Pro.png","width":2560,"height":1294},{"@type":"BreadcrumbList","@id":"https:\/\/www.moveoapps.com\/blog\/how-to-code-android-app-shortcuts-like-a-pro\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.moveoapps.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How To Code Android App Shortcuts Like A Pro"}]},{"@type":"WebSite","@id":"https:\/\/www.moveoapps.com\/blog\/#website","url":"https:\/\/www.moveoapps.com\/blog\/","name":"Moveo Apps","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.moveoapps.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.moveoapps.com\/blog\/#\/schema\/person\/4a857393407cf203bde5d43e8b11b340","name":"Hiral Atha","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.moveoapps.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/www.moveoapps.com\/blog\/wp-content\/uploads\/2019\/08\/Large-Photo-copy-96x96.png","contentUrl":"https:\/\/www.moveoapps.com\/blog\/wp-content\/uploads\/2019\/08\/Large-Photo-copy-96x96.png","caption":"Hiral Atha"},"description":"Hiral Atha is the Founder and CEO of Moveoapps. With a decade of proficiency in building digital platforms that drive innovation and user engagement, Hiral has helped businesses outshine competitors and captivate audiences. Armed with a deep understanding of market dynamics and emerging trends, Hiral has implemented strategic initiatives that have positioned businesses as market leaders, capitalizing on emerging opportunities.","sameAs":["http:\/\/www.moveoapps.com\/","https:\/\/www.linkedin.com\/in\/hiral-atha-0a110b25\/"],"url":"https:\/\/www.moveoapps.com\/blog\/author\/hiral-atha\/"}]}},"_links":{"self":[{"href":"https:\/\/www.moveoapps.com\/blog\/wp-json\/wp\/v2\/posts\/632","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.moveoapps.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.moveoapps.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.moveoapps.com\/blog\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.moveoapps.com\/blog\/wp-json\/wp\/v2\/comments?post=632"}],"version-history":[{"count":26,"href":"https:\/\/www.moveoapps.com\/blog\/wp-json\/wp\/v2\/posts\/632\/revisions"}],"predecessor-version":[{"id":1157,"href":"https:\/\/www.moveoapps.com\/blog\/wp-json\/wp\/v2\/posts\/632\/revisions\/1157"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.moveoapps.com\/blog\/wp-json\/wp\/v2\/media\/1398"}],"wp:attachment":[{"href":"https:\/\/www.moveoapps.com\/blog\/wp-json\/wp\/v2\/media?parent=632"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.moveoapps.com\/blog\/wp-json\/wp\/v2\/categories?post=632"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.moveoapps.com\/blog\/wp-json\/wp\/v2\/tags?post=632"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}