アプリをインストールするとすぐに (アプリを起動する前であっても)、ホーム画面にアプリのショートカット/ランチャー アイコンを作成したいと考えています。それは可能ですか?どうすればそれを行うことができますか?
6 に答える
ICS以降、次のようにすることができます:
public void createShortCut(){
Intent shortcutintent = new Intent("com.android.launcher.action.INSTALL_SHORTCUT");
shortcutintent.putExtra("duplicate", false);
shortcutintent.putExtra(Intent.EXTRA_SHORTCUT_NAME, getString(R.string.shortcutname));
Parcelable icon = Intent.ShortcutIconResource.fromContext(getApplicationContext(), R.drawable.icon);
shortcutintent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, icon);
shortcutintent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, new Intent(getApplicationContext(), EnterActivity.class));
sendBroadcast(shortcutintent);
}
ランチャーのソース コードも参照してください:このリンク
編集:誰かがコメントを読み逃す場合は、次の行を追加してください。
これには"com.android.launcher.permission.INSTALL_SHORTCUT"
許可が必要です
注:この答えは間違っています。たとえば、これを行う方法については、ロビンの回答を参照してください。
私の知る限り、アプリがホーム画面に強制的に表示されることはありません。ランチャー アプリが保持するアプリ リストに追加されますが、ホーム画面は通常、ユーザーが制御できます。ホーム画面を乱雑にする機能をアプリに与えることは、悪用の公然たる誘因となります。
アプリケーションをインストールすると、アプリケーションもサービスも他のプロセスもアクティブになりません。Android は、ユーザーがアプリケーションを「開く」最初のステップを実行することを望んでいます。ショートカットを直接インストールすることはできません! それが答えです。注意: ほとんどのデバイスでは、ランチャーによってアプリケーション自体のショートカットが作成されます。
ユーザーがなんらかの方法でアプリを少なくとも 1 回起動した後、実行時にショートカットをインストールできますか? :はい(ロビンの回答を参照)。
回避策はありますか? たぶん、しかし良いものはありません。
更新、別のヒント: ユーザーのデバイスに既にアプリケーションがある場合。(たとえば、インストールされる2番目のアプリが「プロになる」ための鍵である場合など)、実際には、ユーザーが2番目のアプリを開始することなく(そしてショートカットを追加する)、最初のアプリケーションから2番目のアプリケーションを開始できます。 .