Android中创建和删除快捷方式示例
Android中创建和删除快捷方式示例 Android系统中支持快捷方式这一特性,这样使得用户更快更好地使用应用或者软件,当然,有些系统提供了直接拖拽创建快捷方式的功能,这里我们将简单介绍一下android中使用代码如何创建和删除快捷方式。 以下源码来源于互联网,本人稍作修改和注释。原理主要是使用android系统的一个一个广播机制,我们需要做的是实例一个Intent对象,并对这个对象做制定的设置,然后发送一个广播就可以了,然后其他的操作,委托给别的程序做就可以了,就是这么简单。源码如下。
1. package ps.androidyue.shortcutdemo;
2.
3. import android.app.Activity;
4. import android.content.ComponentName;
5. import android.content.Intent;
6. import android.content.Intent.ShortcutIconResource;
7. import android.os.Bundle;
8. import android.view.View;
9. import android.widget.Button;
10.
11. public class ShortCutDemoActivity extends Activity {
12. //安装和卸载快捷方式动作常量
13. private final String INTENT_ACTION_INSTALL_SHORTCUT="com.android.launcher.action.INSTALL_SHORTCUT";
14. private final String INTENT_ACTION_UNINSTALL_SHORTCUT="com.android.launcher.action.UNINSTALL_SHORTCUT";
15. private Button btnAddShortCut,btnRemoveShortCuts;
16. /** Called when the activity is first created. */
17. @Override
18. public void onCreate(Bundle savedInstanceState) {
19. super.onCreate(savedInstanceState);
20. setContentView(R.layout.main);
21. this.initializeViews();
22. }
23.
24. /*
25. * 初始化需要的视图
26. */
27. private void initializeViews(){
28. this.initializeButtons();
29. }
30.
31. /*
32. * 初始化需要的button
33. */
34. private void initializeButtons(){
35. this.btnAddShortCut=(Button)this.findViewById(R.id.btnAddShortCuts);
36. this.btnAddShortCut.setOnClickListener(new View.OnClickListener() {
37.
38. @Override
39. public void onClick(View v) {
40. //添加快捷方式
41. addShortcut();
42. }
43. });
44. this.btnRemoveShortCuts=(Button)this.findViewById(R.id.btnRemoveShortCuts);
45. this.btnRemoveShortCuts.setOnClickListener(new View.OnClickListener() {
46.
47. @Override
48. public void onClick(View v) {
49. //删除快捷方式
50. delShortcut();
51. }
52. });
53. }
54.
55.
56. /*
57. * 为程序创建桌面快捷方式
58. */
59. private void addShortcut(){
60. //实例化具有安装快捷方式动作的Intent对象
61. Intent shortcut = new Intent(this.INTENT_ACTION_INSTALL_SHORTCUT);
62. //快捷方式的名称
63. shortcut.putExtra(Intent.EXTRA_SHORTCUT_NAME, getString(R.string.app_name));
64. shortcut.putExtra("duplicate", false); //不允许重复创建
65.
66. //指定当前的Activity为快捷方式启动的对象: 如 com.everest.video.VideoPlayer
67. //注意: ComponentName的第二个参数必须加上点号(.),否则快捷方式无法启动相应程序
68. ComponentName comp = new ComponentName(this.getPackageName(), "."+this.getLocalClassName());
69. shortcut.putExtra(Intent.EXTRA_SHORTCUT_INTENT, new Intent(Intent.ACTION_MAIN).setComponent(comp));
70. //快捷方式的图标
71. ShortcutIconResource iconRes = Intent.ShortcutIconResource.fromContext(this, R.drawable.ic_launcher);
72. shortcut.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, iconRes);
73. //发送创建快捷方式的广播
74. sendBroadcast(shortcut);
75. }
76.
77. /*
78. * 删除程序的快捷方式
79. */
80. private void delShortcut(){
81. Intent shortcut = new Intent(this.INTENT_ACTION_UNINSTALL_SHORTCUT);
82.
83. //快捷方式的名称 www.zzzyk.com
84. shortcut.putExtra(Intent.EXTRA_SHORTCUT_NAME, getString(R.string.app_name)); &
补充:移动开发 , Android ,