Android创建桌面快捷方式几种方法

本文介绍在Android设备上创建应用快捷方式的两种方法:一是通过发送广播请求直接在桌面上生成;二是通过长按桌面,在弹出菜单中选择创建。文章详细讲解了所需的权限配置及代码实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Android在桌面上生成快捷方式有两种情况,一种是直接在桌面直接生成;一种是长按桌面,在弹出的快捷菜单中生成。
  谈谈在桌面上直接生成。个人觉得这个比较爽快,既然都是快捷方式了干嘛还要再隐藏一层呢?当然喜欢桌面干净的就比较喜欢第二个了。
  第一个是通过广播(Broadcast)的形式向Luncher发送请求生成快捷方式的。
  在网上找到关于这方面的注册信息。
  1. <!--

  2. Code highlighting produced by Actipro CodeHighlighter (freeware)
  3. http://www.CodeHighlighter.com/

  4. --><!--设置wallpapaer的activity-->
  5. <!-- Intent received usedto install shortcuts from other applications-->
  6. <receiver
  7. android:name="com.android.launcher2.InstallShortcutReceiver"
  8. android:permission="com.android.launcher.permission.INSTALL_SHORTCUT">
  9. <intent-filter>
  10. <action android:name="com.android.launcher.action.INSTALL_SHORTCUT"/>
  11. </intent-filter>
  12. </receiver>
复制代码
可以看出,要在桌面上创建快捷方式就需要权限了:
  android:permission="com.android.launcher.permission.INSTALL_SHORTCUT。
  所以在我们的manifest.xml文件中,我们需要加入下面这段话:
  1. <!--

  2. Code highlighting produced by Actipro CodeHighlighter (freeware)
  3. http://www.CodeHighlighter.com/

  4. --><uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/>
复制代码
下面就是代码层的实现:
  假如我在一个activity中创建一个创建快捷方式的方法:createShortCut();
  1. <!--

  2. Code highlighting produced by Actipro CodeHighlighter (freeware)
  3. http://www.CodeHighlighter.com/

  4. -->public void createShortCut(){
  5. //创建快捷方式的Intent
  6. Intent shortcutintent =new Intent("com.android.launcher.action.INSTALL_SHORTCUT");
  7. //不允许重复创建
  8. shortcutintent.putExtra("duplicate",false);
  9. //需要现实的名称
  10. shortcutintent.putExtra(Intent.EXTRA_SHORTCUT_NAME, getString(R.string.shortcutname));
  11. //快捷图片
  12. Parcelable icon = Intent.ShortcutIconResource.fromContext(getApplicationContext(), R.drawable.icon);
  13. shortcutintent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, icon);
  14. //点击快捷图片,运行的程序主入口
  15. shortcutintent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, new Intent(getApplicationContext() , EnterActivity.class));
  16. //发送广播。OK
  17. sendBroadcast(shortcutintent);
  18. }
复制代码
二、长按桌面弹出的桌面快捷方式创建
  第一页谈过直接在桌面生成快捷方式,现在说说如何在添加到一个SHORTCUTS列表中,就是你长按桌面弹出来的那个东东。
  首先在注册activity时,需要添加一个action为android.intent.action.CREATE_SHOERTCUT的intentFilter.如下所示:
  1. <!--

  2. Code highlighting produced by Actipro CodeHighlighter (freeware)
  3. http://www.CodeHighlighter.com/

  4. --><activity android:name="ShortCutTest">
  5. <intent-filter>
  6. <action android:name="android.intent.action.CREATE_SHORTCUT"/>
  7. </intent-filter>
  8. </activity>
复制代码
接下来就是就是设置快捷方式的图标、名称、事件等属性。这里图表的生成,android里提供了专门的方法来生成。
  1. <!--

  2. Code highlighting produced by Actipro CodeHighlighter (freeware)
  3. http://www.CodeHighlighter.com/

  4. -->public class ShortCutTest extends Activity{
  5. @Override
  6. protected void onCreate(Bundle savedInstanceState) {
  7. // TODO Auto-generated method stub
  8. super.onCreate(savedInstanceState);
  9. }

  10. public void createShortCut(){
  11. Intent addShortCut;
  12. //判断是否需要添加快捷方式
  13. if(getIntent().getAction().equals(Intent.ACTION_CREATE_SHORTCUT)){
  14. addShortCut =new Intent();
  15. //快捷方式的名称
  16. addShortCut.putExtra(Intent.EXTRA_SHORTCUT_NAME , "我的快捷方式");
  17. //显示的图片
  18. Parcelable icon = ShortcutIconResource.fromContext(this, R.drawable.icon);
  19. addShortCut.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, icon);
  20. //快捷方式激活的activity,需要执行的intent,自己定义
  21. addShortCut.putExtra(Intent.EXTRA_SHORTCUT_INTENT, new Intent());
  22. //OK,生成
  23. setResult(RESULT_OK, addShortCut);
  24. }else{
  25. //取消
  26. setResult(RESULT_CANCELED);
  27. }
  28. }
  29. }
复制代码
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值