要检查当前应用是否为默认助手应用,您可以使用:
String assistant = Settings.Secure.getString(getContentResolver(), "voice_interaction_service");
ComponentName cn = assistant == null ? null : ComponentName.unflattenFromString(assistant);
boolean isDefaultAssistant = cn != null && cn.getPackageName().equals(getPackageName());
要进入设置屏幕,您可以使用:
startActivity(new Intent(Settings.ACTION_VOICE_INPUT_SETTINGS));
由于很难找到制作助理应用程序的文档和示例,我无法找到是否可以为第三方应用程序执行相同操作。
当我自己尝试,或者使用我找到的样本时,我只看到那些:
不仅如此,但由于某种原因无法点击“闪屏”。不确定它是否被认为是开启的。
我发现了一些示例,展示了如何制作助手应用程序,主要是来自“commonsguy”repo“cw-omnibus”的“AssistLogger”:
https://github.com/commonsguy/cw-omnibus/tree/master/Assist/AssistLogger
事情是,我在那里尝试了各种API调用,但我找不到如何启用此功能。
奖金问题(因为我也找不到它们):
为什么“闪屏”无法点击?
是否可以选择在此屏幕上显示的内容,或禁止切换的内容?
是否有意愿去助手的选择者而不是我所展示的?
是否可以检查每个切换的状态?例如,如果用户取消选中屏幕截图?