我知道我可以通过从佩戴主屏幕调用语音命令(例如Start MyApp)来启动我的应用程序启动器活动但是我想用相同的机制调用其他活动,即使用语音命令例如启动B其中B是我的活动的名称,而不是启动器活动。我想从Wear主屏幕本身启动Activty B而不是通过我的应用程序打开。类似于应用程序启动器活动的情况可以从Wear主屏幕启动。机器人穿戴支持此功能?请帮助
答案 0 :(得分:0)
是的,可以做到。
@Override
protected void onCreate(Bundle savedInstanceState) {
try {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Intent voiceIntent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
voiceIntent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
startActivityForResult(voiceIntent,SPEECH_RECOGNIZER_CODE);
}
如上所示启动活动,它将打开默认的谷歌语音听力对话框。
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
try { if (requestCode == SPEECH_RECOGNIZER_CODE && resultCode == RESULT_OK) {
List<String> results = data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);
String spokenText = results.get(0);
}
在您的活动中实施上述方法。通过将字符串“spokenText”与活动名称匹配,您可以开始该活动。
答案 1 :(得分:0)
你口头调用的活动会不时地改变,或者它总是第二次活动?
答案 2 :(得分:0)
好吧,我可以想到一个粗略的修复,我假设你添加了&#34; android:label&#34;到您的启动器活动,以便来自磨损主屏幕的语音命令调用该应用程序。添加标签值为&#34; secondactivity&#34;(或者您想要调用的活动名称 - 以便用户可以使用它而不必担心应用程序名称)。如果您在OnCreate方法本身中完成启动器活动并从那里打开第二个活动,这是一个问题吗?只是我的想法。