我可以阻止快捷方式 (android.intent.action.CREATE_SHORTCUT) 出现在启动器的添加小部件部分吗?

Posted

技术标签:

【中文标题】我可以阻止快捷方式 (android.intent.action.CREATE_SHORTCUT) 出现在启动器的添加小部件部分吗?【英文标题】:Can I prevent a shortcut (android.intent.action.CREATE_SHORTCUT) to appear in the add widget section of the launcher? 【发布时间】:2015-11-30 19:09:44 【问题描述】:

如果您启动我的应用程序,您会看到一个产品列表,如果您选择一个项目,我会打开一个产品页面。

由于我的一些客户总是在同一产品上使用该应用,因此我在每个产品页面上都添加了“添加到主屏幕”选项。这会在启动器上创建一个快捷方式。我按照这个问题中的描述做了这个:

How can I have a home screen shortcut launch a dialog?

快捷方式效果很好,但我注意到我的应用现在有一个“小部件”,用户可以从已安装的应用启动器将其添加到主屏幕。 这样做不会创建一个有效的快捷方式,因为应该打开哪个产品的信息不是这样设置的。

我一开始就不想要这个小部件,有没有办法在不添加小部件的情况下创建快捷方式?

【问题讨论】:

我不知道有什么方法可以做到这一点,但是您可以让小部件做一些有用的事情,例如打开一个包含产品列表的对话框,以便用户可以选择一个并将小部件添加到主屏幕时将其与小部件/快捷方式相关联,而不是通过您的应用程序执行相同的操作。事实上,这是一种常见的方法:当用户将小部件放在主屏幕上时,显示一个对话框来定义小部件将做什么,在您的情况下,单击时要显示哪个产品。 【参考方案1】:

除了“添加到主屏幕”菜单选项之外,我建议您修复小部件,以便您可以从那里创建产品的快捷方式。但是,如果您不想这样做,只需从活动中删除 android.intent.action.CREATE_SHORTCUT 意图过滤器。您仍然可以使用现有方法的 INSTALL_SHORTCUT 权限添加到主屏幕的快捷方式。

【讨论】:

以上是关于我可以阻止快捷方式 (android.intent.action.CREATE_SHORTCUT) 出现在启动器的添加小部件部分吗?的主要内容,如果未能解决你的问题,请参考以下文章

2016-05-06安卓之Activity

2016-05-06安卓之Activity

android intent 可以传递enum 吗

Android Intent Filter:无法从预览中打开音频文件?

Android Intent传递对象为啥要序列化,序列化有那几种方式

Android(Intent 学习)