Android创建桌面快捷方式
最后更新 2021-02-14 17:31 星期日 所属:
安卓教程 浏览:988
先分辨有没有这一快捷方式图标:
// 判断是不是早已存有快捷方式图标 public boolean isExistShortCut() { boolean isInstallShortcut = false; final ContentResolver cr = Main3Activity.this.getContentResolver(); // 2.2系统以后是”com.android.launcher2.settings”,以前的为"com.android.launcher.settings" final String AUTHORITY = "com.android.launcher2.settings"; final Uri CONTENT_URI = Uri.parse("content://" AUTHORITY "/favorites?notify=true"); Cursor c = cr.query(CONTENT_URI, new String[] { "title", "iconResource" }, "title=?", new String[] { getString(R.string.app_name) }, null); if (c != null && c.getCount() > 0) { isInstallShortcut = true; System.out.println("早已存有快捷方式图标"); } return isInstallShortcut; }
AndroidManifast.xml添加管理权限:
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" /> <uses-permission android:name="com.android.launcher.permission.UNINSTALL_SHORTCUT"/> <!-- 快捷方式图标信息内容必须从setting中载入 --> <uses-permission android:name="com.android.launcher.permission.READ_SETTINGS"/>
在onCreate()中添加:
if(!isExistShortCut()){ //String title=getResources().getString(R.string.title); Intent addIntent=new Intent("com.android.launcher.action.INSTALL_SHORTCUT"); Parcelable icon=Intent.ShortcutIconResource.fromContext(this, R.drawable.ic_launcher); //获得键盘快捷键的标志 Intent myIntent=new Intent(this, MainActivity.class); addIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, getString(R.string.app_name));//快捷方式图标的题目 addIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, icon);//快捷方式图标的标志 addIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, myIntent);//快捷方式图标的姿势 addIntent.putExtra("duplicate",false); sendBroadcast(addIntent);//推送广播节目 }