欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android编程实现向桌面添加快捷方式的方法

程序员文章站 2024-03-02 15:24:34
本文实例讲述了android编程实现向桌面添加快捷方式的方法。分享给大家供大家参考,具体如下: 有时候为了使用方便,需要在桌面上添加快捷方式,下面是两种添加快捷方式的方法...

本文实例讲述了android编程实现向桌面添加快捷方式的方法。分享给大家供大家参考,具体如下:

有时候为了使用方便,需要在桌面上添加快捷方式,下面是两种添加快捷方式的方法:

方法1:

void setshortcut() {
  intent addshortcut = new intent();
  // 设置快捷方式的名字
  addshortcut.putextra(intent.extra_shortcut_name, "快捷方式练习");
  // 构建快捷方式中专门的图标
  parcelable icon = intent.shortcuticonresource.fromcontext(
    shortcuttest.this, r.drawable.icon);
  // 添加快捷方式图标
  addshortcut.putextra(intent.extra_shortcut_icon_resource, icon);
  // 构建快捷方式执行的intent
  intent mailto = new intent(this, shortcuttest.class);
  // 添加快捷方式intent
  addshortcut.putextra(intent.extra_shortcut_intent, mailto);
  // 正常
  setresult(result_ok, addshortcut);
}

通过以上代码添加的快捷方式,只能在程序启动中添加,不能加入到事件中,现在也没有想明白是什么,也没有仔细研究一下,希望知道的朋友通知一下!并且这样添加的时候,不直接添加到桌面中,而是添加到添加快捷方式窗口中,如图:

Android编程实现向桌面添加快捷方式的方法

方法2:

private void addshortcut(){
  intent shortcut = new intent("com.android.launcher.action.install_shortcut");
  //快捷方式的名称
  shortcut.putextra(intent.extra_shortcut_name, getstring(r.string.app_name));
//  shortcut.putextra("duplicate", false); //不允许重复创建
  //指定当前的activity为快捷方式启动的对象: 如 com.everest.video.videoplayer
  //注意: componentname的第二个参数必须加上点号(.),否则快捷方式无法启动相应程序
  // componentname comp = new componentname(this.getpackagename(), "."+this.getlocalclassname());
  // shortcut.putextra(intent.extra_shortcut_intent, new intent(intent.action_main).setcomponent(comp));
  shortcut.putextra(intent.extra_shortcut_intent, new intent(this,shortcuttest.class));
  //快捷方式的图标
  shortcuticonresource iconres = intent.shortcuticonresource.fromcontext(this, r.drawable.icon);
  shortcut.putextra(intent.extra_shortcut_icon_resource, iconres);
  sendbroadcast(shortcut);
}

其中:

shortcut.putextra("duplicate", false);

表示的为不允许重复设置

此种代码,直接添加到桌面上,并且也在上图所示的地方显示,但是此需要添加下面的权限:

复制代码 代码如下:
<uses-permission android:name="com.android.launcher.permission.install_shortcut" />

ps:更多关于android manifest权限控制可参考本站在线工具:

android manifest功能与权限描述大全:
http://tools.jb51.net/table/androidmanifest

更多关于android相关内容感兴趣的读者可查看本站专题:《android开发入门与进阶教程》、《android调试技巧与常见问题解决方法汇总》、《android多媒体操作技巧汇总(音频,视频,录音等)》、《android基本组件用法总结》、《android视图view技巧总结》、《android布局layout技巧总结》及《android控件用法总结

希望本文所述对大家android程序设计有所帮助。