This article is an example of how Android programming adds shortcuts (short) to your mobile desktop. Share to everyone for your reference, specific as follows:
Permissions
To add a shortcut to your mobile desktop, you first need to add permissions to the manifest.
<!--add Shortcuts-->
<uses-permission android:name= "Com.android.launcher.permission.INSTALL_SHORTCUT"/ >
<!--removing shortcuts-->
<uses-permission android:name= "com.android.launcher.permission.UNINSTALL_ Shortcut "/>
<!--query Shortcuts-->
<uses-permission android:name=" Com.android.launcher.permission.READ_SETTINGS "/>
Add a shortcut
To add a shortcut, you send a broadcast of related action to your desktop application (launcher), and the relevant action is as follows:
Copy Code code as follows:
public static final String action_add_shortcut = "Com.android.launcher.action.INSTALL_SHORTCUT";
To add a shortcut:
private void Addshortcut (String name) {Intent addshortcutintent = new Intent (action_a
Dd_shortcut); Duplicate creation of Addshortcutintent.putextra ("duplicate", false) is not allowed;//The test is not based on the name of the shortcut to judge the repetition//should be based on the fast-chain of the intent to determine whether to repeat, That is, intent.extra_shortcut_intent field value//But the name is not at the same time, although some mobile phone systems will show toast prompts to repeat, will still build fast chain//screen no space will be prompted//note: Repeated creation of the behavior of MIUI and Samsung mobile phone
Not quite the same, the millet seems unable to repeatedly create shortcuts//name Addshortcutintent.putextra (intent.extra_shortcut_name, name); Icon Addshortcutintent.putextra (Intent.extra_shortcut_icon_resource, Intent.ShortcutIconResource.fromContext (Mai
Nactivity.this, R.drawable.ic_launcher));
Set association program Intent launcherintent = new Intent (intent.action_main);
Launcherintent.setclass (Mainactivity.this, Mainactivity.class);
Launcherintent.addcategory (Intent.category_launcher);
Addshortcutintent. Putextra (Intent.extra_shortcut_intent, launcherintent);
Send broadcast Sendbroadcast (addshortcutintent); }
Remove Shortcut
Remove action for shortcut:
Copy Code code as follows:
public static final String action_remove_shortcut = "Com.android.launcher.action.UNINSTALL_SHORTCUT";
Ways to remove Shortcuts:
The private void Removeshortcut (String name) {
//Remove shortcut method does not work on the millet system and can be removed from Samsung on
Intent Intent = new Intent ( Action_remove_shortcut);
Name
Intent.putextra (intent.extra_shortcut_name, name);
Set the association program
Intent launcherintent = new Intent (mainactivity.this,
mainactivity.class). Setaction ( Intent.action_main);
Intent.putextra (Intent.extra_shortcut_intent, launcherintent);
Send broadcast
sendbroadcast (intent);
}
Test on two mobile phones, found that the millet phone can not be removed after adding a shortcut, Samsung mobile phones.
Query shortcuts
The way to query whether the shortcut exists is from other information on the Internet, but failed to test the query, two mobile phone (millet, Samsung) are not found.
Just keep the code and see what the reason is:
Private Boolean hasinstallshortcut (String name) {
Boolean hasinstall = false;
Final String authority = "com.android.launcher2.settings";
Uri Content_uri = Uri.parse ("content://" + Authority
+ "/favorites?notify=true");
It
's
always failed to find provider info//Com.android.launcher2.settings and com.android.launcher.settings. Cursor Cursor = This.getcontentresolver (). Query (Content_uri,
new string[] {"title", "Iconresource"}, "title=", C9/>new string[] {name}, null);
if (cursor!= null && cursor.getcount () > 0) {
Hasinstall = true;
}
return hasinstall;
}
I hope this article will help you with the Android program.