我的应用程序可以选择创建主屏幕快捷方式。
我创建了这样的快捷方式:
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)
但是当我点击快捷方式时,它会显示Toast" App未安装"。
是否可以创建发送广播而不是启动活动的主屏幕快捷方式?
(开始活动并快速完成它不是一种选择)。
谢谢!
答案 0 :(得分:6)
是否可以创建发送广播而不是启动活动的主屏幕快捷方式?
严格来说,没有。
但是,您可以将其指向使用Theme.NoDisplay
设置的活动,您在活动中onCreate()
发送广播并在不致电的情况下致电finish()
setContentView()
。在视觉上,这与快捷方式发送广播本身无法区分。