【问题标题】:Set app as default Assist Intent将应用设置为默认辅助意图
【发布时间】:2020-01-14 04:38:32
【问题描述】:

所以目前我对这个问题束手无策。

我正在尝试将我的应用设置为长按主页按钮时启动的默认应用。

我是这样做的:

  1. 在清单中设置 Intent 过滤器(我还尝试添加 MAIN 和 LAUNCHER 操作/类别标签)
 <action android:name="android.intent.action.ASSIST" />
 <action android:name="android.intent.action.SEARCH_LONG_PRESS" />
 <category android:name="android.intent.category.DEFAULT" />
  1. 请求默认应用以允许用户更改(搜索长按操作也有一个)
Intent intent = new Intent(Intent.ACTION_ASSIST);
intent.addCategory(Intent.CATEGORY_DEFAULT);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

这种方法非常适合运行 6.0 之前软件的设备。 在 post 6 设备上询问请求,但默认助手应用程序未更改。

使用这些确切步骤时,我的应用可以完美地设置为 post 6 设备上的默认主页应用。

我不确定我是否缺少某种特定的许可或其他什么。似乎什么都不起作用。谷歌应用程序将始终在长按时使用。如果我禁用谷歌应用程序,那么我的应用程序将在长按时运行。

额外信息:这是一款面向企业的自助服务终端应用,因此我希望不必为每台设备禁用 Google 应用。我不介意解决方案是否很老套,因为这不会出现在应用商店中。

【问题讨论】:

  • “在 post 6 设备上,请求被询问,但默认助手应用程序未更改”——在“设置”应用程序中进行了更改,最后我检查了。
  • 有官方文件说明这一点吗?
  • 我非常怀疑。

标签: java android android-studio


【解决方案1】:

要实现您的助手类应用,助手应用必须提供VoiceInteractionSessionServiceVoiceInteractionSession 的实现。 它还需要BIND_VOICE_INTERACTION 权限。

另见:

【讨论】:

  • 这似乎是为了语音帮助。我的问题是在长按主页按钮时启动正确的应用程序。
  • 长按home只能启动语音交互应用。
  • 我已经对此进行了很多测试,但我认为我最初的问题中的一个 cmets 可能是正确的。其他应用程序(例如 microsofts Cortana)会将您带到设置屏幕以手动更改它。这个答案允许该应用程序成为助手的一个选项(以前不是问题),但不幸的是,除非在设置屏幕中手动更改,否则它不会持续存在。
猜你喜欢
  • 2017-10-25
  • 2016-11-02
  • 1970-01-01
  • 2015-05-16
  • 2023-03-19
  • 1970-01-01
  • 2012-10-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多