将应用设置为默认辅助意图

时间:2018-06-26 03:40:12

标签: java android android-studio

因此,对于这个问题,我目前无能为力。

我试图将我的应用设置为长按“主页”按钮时启动的默认应用。

我这样做的方式是:

  1. 在清单中设置意图过滤器(我还尝试添加MAIN和LAUNCHER action / category标签)
 <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设备上,将询问该请求,但默认助手应用未更改。

使用这些确切步骤时,可以将我的应用设置为后6个设备上的默认家庭应用,这非常好。

我不确定我是否缺少某种特定权限或其他东西。似乎什么都没有。谷歌应用程序将始终在长按状态下使用。如果我禁用了Google应用,则我的应用将在长按时运行。

其他信息:这是一个面向企业的信息亭应用,因此,我希望不必为将要使用的每台设备禁用Google应用。我不介意解决方案是否骇人听闻,因为这不在应用程序商店中进行。

1 个答案:

答案 0 :(得分:1)

要实现类似Assistant的应用,助手应用必须提供 VoiceInteractionSessionService VoiceInteractionSession
的实现 它还需要 BIND_VOICE_INTERACTION权限。

检查this以获得更多信息。
this是带有该链接的示例项目。
希望对您有所帮助。