アプリ側でショートカットをホーム画面から削除する方法

アプリが一度作成したショートカットはユーザーが削除する以外にプログラム的に削除することも可能です。

ここではその方法を簡単に紹介します。

パーミッションの追加

まず初めにAndroidManifest.xmlに次の権限を追加する必要があります。

<uses-permission android:name="com.android.launcher.permission.UNINSTALL_SHORTCUT" />

ショートカットの削除

例えばここではMainActivityというアクティビティのショートカットを消したいとします。

そしてホーム画面に表示されているショートカット名が"MyApp"と仮定すると削除するには次のようにします。

/** 削除するショートカットのアクティビティ */
Intent shortcutIntent = new Intent(Intent.ACTION_MAIN);
shortcutIntent.setClassName(
        MainActivity.this, 
        MainActivity.this.getClass().getName());

/** 削除依頼 */
Intent removeIntent = new Intent();
removeIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent);
removeIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, "MyApp");
removeIntent.putExtra("duplicate", false);
removeIntent.setAction(
        "com.android.launcher.action.UNINSTALL_SHORTCUT");
sendBroadcast(removeIntent);

EXTRA_SHORTCUT_NAMEに渡した名前を持つショートカットが消えます。

以上、アプリ側からホーム画面のショートカットを消す方法でした。では、また!

関連項目
プライバシーポリシー