ボタンのクリックなどの単一のイベントで、アプリのホーム画面にあるすべてのショートカットを削除したいと考えています。これを行う方法はありますか?または、少なくともアプリからホーム画面に配置されたすべてのショートカットの表示名を取得しますか? (ユーザーは「データのクリア」を行うことさえできるため、ショートカットの作成中に共有設定/データベースに入れることはできません)
質問する
740 次
1 に答える
1
これを試して:
appShortcutIntent = new Intent();
appShortcutIntent.setClassName("com.pkg.pkgname", "MainActivity");
appShortcutIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
appIcon = Intent.ShortcutIconResource.fromContext(this, R.drawable.icon);
Intent intentDeleteShortcut = new Intent();
intentDeleteShortcut.putExtra("android.intent.extra.shortcut.INTENT", appShortcutIntent);
intentDeleteShortcut.putExtra("android.intent.extra.shortcut.NAME", getResources().getString(R.string.app_name));
intentDeleteShortcut.putExtra("android.intent.extra.shortcut.ICON_RESOURCE", appIcon);
intentDeleteShortcut.setAction("com.android.launcher.action.UNINSTALL_SHORTCUT");
sendBroadcast(intentDeleteShortcut);
そして、この権限をマニフェスト ファイルに追加します。
<uses-permission android:name="com.android.launcher.permission.UNINSTALL_SHORTCUT" />
お役に立てれば。
(PS: これには、私の知る限り、デバイスをルート化する必要があります。)
于 2013-12-24T08:35:51.713 に答える