Android快捷图标的创建与移除
发布时间:2020-12-14 23:17:00 所属栏目:Java 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 /** * 添加桌面快捷方式 * * @param view */ public void click1(View view) { if (isExit()) { Toast.makeText(getApplicationContext(),"快捷方式已
以下代码由PHP站长网 52php.cn收集自互联网 现在PHP站长网小编把它分享给大家,仅供参考 /** * 添加桌面快捷方式 * * @param view */ public void click1(View view) { if (isExit()) { Toast.makeText(getApplicationContext(),"快捷方式已经存在",0).show(); return; } // 取得图标资源 Parcelable icon = Intent.ShortcutIconResource.fromContext( getApplicationContext(),R.drawable.logo); Intent intent = new Intent(); // 设置意图的动作 intent.setAction("com.android.launcher.action.INSTALL_SHORTCUT"); // 设置图标的名称 intent.putExtra(Intent.EXTRA_SHORTCUT_NAME,"LOL"); // 设置图标 intent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE,icon); // 设置意图的动作和类别 Intent intent2 = new Intent(); intent2.setAction(Intent.ACTION_MAIN); intent2.addCategory(Intent.CATEGORY_LAUNCHER); intent2.setComponent(new ComponentName(this,MainActivity.class)); intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT,intent2); sendBroadcast(intent); } /** * 删除桌面快捷方式 * * @param view */ public void click2(View view) { Parcelable icon = Intent.ShortcutIconResource.fromContext( getApplicationContext(),R.drawable.logo); Intent intent = new Intent(); // 设置意图的动作 intent.setAction("com.android.launcher.action.UNINSTALL_SHORTCUT"); // 设置图标的名称 intent.putExtra(Intent.EXTRA_SHORTCUT_NAME,intent2); sendBroadcast(intent); } /** * 判断桌面是否已经存在快捷方式 * * @return */ private boolean isExit() { Uri uri = null; // 不同版本中的Uri不同 if (getSdkVersion() < 8) { uri = Uri .parse("content://com.android.launcher.settings/favorites"); } else { uri = Uri .parse("content://com.android.launcher2.settings/favorites"); } String selection = "title=?"; String[] selectionArgs = new String[] { "LOL" }; Cursor cursor = getContentResolver().query(uri,null,selection,selectionArgs,null); if (cursor.moveToNext()) { cursor.close(); return true; } else { cursor.close(); return false; } } /** * 获得手机SDK的版本 * * @return */ private int getSdkVersion() { return android.os.Build.VERSION.SDK_INT; } 需要声明的权限 ? ? <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" /> ? ? <!-- 读取设置权限 --> ? ? <uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" /> ? ? <!-- 删除快捷方式权限 --> ? ? <uses-permission android:name="com.android.launcher.permission.UNINSTALL_SHORTCUT"/> 以上内容由PHP站长网【52php.cn】收集整理供大家参考研究 如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |