Android添加快捷方式(CutShort)到手机桌面
2015-12-15 20:41
531 查看
Android添加快捷方式(CutShort)到手机桌面
权限
<!-- 添加快捷方式 --> <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" /> <!-- 移除快捷方式 --> <uses-permission android:name="com.android.launcher.permission.UNINSTALL_SHORTCUT" /> <!-- 查询快捷方式 --> <uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" />
添加快捷方式
添加快捷方式,是向桌面应用(launcher)发送相关action的广播,相关的action如下:
public static final String ACTION_ADD_SHORTCUT = "com.android.launcher.action.INSTALL_SHORTCUT";
添加快捷方式:
private void addShortcut(String name) { Intent addShortcutIntent = new Intent(ACTION_ADD_SHORTCUT); // 不允许重复创建 addShortcutIntent.putExtra("duplicate", false);// 经测试不是根据快捷方式的名字判断重复的 // 应该是根据快链的Intent来判断是否重复的,即Intent.EXTRA_SHORTCUT_INTENT字段的value // 但是名称不同时,虽然有的手机系统会显示Toast提示重复,仍然会建立快链 // 屏幕上没有空间时会提示 // 注意:重复创建的行为MIUI和三星手机上不太一样,小米上似乎不能重复创建快捷方式 // 名字 addShortcutIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, name); // 图标 addShortcutIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, Intent.ShortcutIconResource.fromContext(MainActivity.this, R.drawable.ic_launcher)); // 设置关联程序 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); // 发送广播 sendBroadcast(addShortcutIntent); }
相关文章推荐
- Android中onTouch方法的执行过程以及和onClick执行发生冲突的解决办法
- Android之如果解决Android studio项目里面的类名不能重命名
- js调用android原生方法,简单明了。
- android 环境配置
- ExpandableListView
- 一些Android框架
- "Check Android SDK" has encountered a problem
- Android 性能测试实践(一)
- Android加载asset的db
- Android界面组件基本用法
- 图片_ _Android有效解决加载大图片时内存溢出的问题
- TextureView与Camera
- 从android studio(for mac)中导入APIdemo
- Android Studio错误信息记录[记录]
- Android屏幕适配全攻略(最权威的官方适配指导)
- android 颜色对照
- Android 屏幕适配方案
- 在android中调用jni,出现ReferenceTable overflow (max=1024)
- Android 实现ListView的A-Z字母排序和过滤搜索功能,实现汉字转成拼音
- android.database.sqlite.SQLiteException: no such column