私のアプリケーションには、ホーム画面のショートカットを作成するオプションがあります。
次のようにショートカットを作成します。
Intent intent = new Intent();
intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT,
new Intent(ShortcutCreateActivity.this, ShortcutCreateActivity.class).putExtra(EXTRA_PROFILE_ID, profileId).putExtra(EXTRA_PROFILE_ACTION, item));
intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, profileTitle);
intent.putExtra(Intent.EXTRA_SHORTCUT_ICON, bitmap);
これは期待どおりに機能します... ユーザーがショートカットをクリックすると、ShortcutCreateActivity が起動され、必要なことを実行します。
でも!アクティビティを開く必要は避けたいと思います。代わりに、ブロードキャストを送信するショートカットを作成したいと考えています。
インテントを次のように置き換えてみました。
intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT,
new Intent(INTENT_ACTION_THAT_I_WANT)
しかし、ショートカットをクリックすると、「アプリがインストールされていません」というトーストが表示されます。
アクティビティを起動する代わりにブロードキャストを送信するホーム画面のショートカットを作成することはできますか?
(アクティビティを開始してすぐに終了することはオプションではありません)。
ありがとうございました!