创建发送广播的快捷方式

Lio*_*luz 2 android android-intent android-broadcast

我的应用程序可以选择创建主屏幕快捷方式.

我创建这样的快捷方式:

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);
Run Code Online (Sandbox Code Playgroud)

这按预期工作...当用户单击快捷方式时,ShortcutCreateActivity会启动,我会按照我的需要执行操作.

然而!我想避免开展活动的必要性.相反,我想创建一个发送广播的快捷方式.

我尝试用以下方法替换意图:

intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT,
    new Intent(INTENT_ACTION_THAT_I_WANT)
Run Code Online (Sandbox Code Playgroud)

但是当我单击快捷方式时,它会显示Toast"App is not installed".

是否可以创建发送广播而不是启动活动的主屏幕快捷方式?

(开始活动并快速完成它不是一种选择).

谢谢!

Com*_*are 6

是否可以创建发送广播而不是启动活动的主屏幕快捷方式?

严格来说,没有.

但是,您可以将其指向一个设置Theme.NoDisplay的活动,onCreate()您在活动中的哪个位置发送您的广播和呼叫finish()而不通过呼叫setContentView().在视觉上,这与快捷方式发送广播本身无法区分.