:
Intent shortcutIntent = new Intent();
shortcutIntent.setClassName("packageName", "className");
//shortcutIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
//shortcutIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
Intent addIntent = new Intent();
addIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent);
addIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, "shortcut_name");
addIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE,
Intent.ShortcutIconResource.fromContext(context, R.drawable.icon));
//intent.putExtra("duplicate", false);
addIntent.setAction("com.android.launcher.action.INSTALL_SHORTCUT");
context.sendBroadcast(addIntent);
あなたのAndroidManaifest.xmlに次の権限を使用する必要が
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
をあなたの要件に応じて、コメントコードを使用することができます。
おそらくAPIの上には記載されていないことに注意してください。しかし、それは動作します。
これは悪い習慣ではないと思われますか?ユーザーが画面上にアイコンを表示したい場合は、アイコン自体を非常に簡単に行うことができます。 – Jems
これは、すべてのインストール/アップグレード/スタートアップ時に自分自身をデスクトップに追加することを主張する激怒するWindowsアプリケーションに似ています。方法を見つけたとしても、しないでください*。 – ZoogieZork
@Jems、ZoogieZorkどちらも正しいですが、企業所有のデバイスの従業員だけが利用できるエンタープライズアプリケーションストアなど、この機能が必要な状況もあります。これらのユーザーの多くは、ホーム画面にアプリケーションを配置する知識は持っていませんが、ユーザーがアプリケーションを操作すると、ユーザーエクスペリエンスがはるかに向上します。 – Kennifer