31

アプリをインストールするとすぐに (アプリを起動する前であっても)、ホーム画面にアプリのショートカット/ランチャー アイコンを作成したいと考えています。それは可能ですか?どうすればそれを行うことができますか?

4

6 に答える 6

45

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"許可が必要です

于 2013-08-20T05:03:16.853 に答える
12

注:この答えは間違っています。たとえば、これを行う方法については、ロビンの回答を参照してください。


私の知る限り、アプリがホーム画面に強制的に表示されることはありません。ランチャー アプリが保持するアプリ リストに追加されますが、ホーム画面は通常、ユーザーが制御できます。ホーム画面を乱雑にする機能をアプリに与えることは、悪用の公然たる誘因となります。

于 2013-08-20T04:55:31.163 に答える
5

アプリケーションをインストールすると、アプリケーションもサービスも他のプロセスもアクティブになりません。Android は、ユーザーがアプリケーションを「開く」最初のステップを実行することを望んでいます。ショートカットを直接インストールすることはできません! それが答えです。注意: ほとんどのデバイスでは、ランチャーによってアプリケーション自体のショートカットが作成されます。

ユーザーがなんらかの方法でアプリを少なくとも 1 回起動した後、実行時にショートカットをインストールできますか? :はい(ロビンの回答を参照)。

回避策はありますか? たぶん、しかし良いものはありません。

更新、別のヒント: ユーザーのデバイスに既にアプリケーションがある場合。(たとえば、インストールされる2番目のアプリが「プロになる」ための鍵である場合など)、実際には、ユーザーが2番目のアプリを開始することなく(そしてショートカットを追加する)、最初のアプリケーションから2番目のアプリケーションを開始できます。 .

于 2015-10-29T18:45:11.660 に答える