0

ボタンのクリックなどの単一のイベントで、アプリのホーム画面にあるすべてのショートカットを削除したいと考えています。これを行う方法はありますか?または、少なくともアプリからホーム画面に配置されたすべてのショートカットの表示名を取得しますか? (ユーザーは「データのクリア」を行うことさえできるため、ショートカットの作成中に共有設定/データベースに入れることはできません)

4

1 に答える 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 に答える