任务:在我的应用程序中执行某些操作,通过命令从android wear watch by speak命令。它与谷歌搜索的发送命令相同(通过说或写命令)。
如何在http://developer.android.com/training/wearables/apps/voice.html"描述应用程序提供的语音操作"
我创建了两个活动:
<activity
android:name=".MainActivity"
android:label="speech test main" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".SomeAction"
android:label="speech test action" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
这两项活动都可以通过命令&#34;启动[android:label for activity]&#34;从谷歌搜索启动。然后我可以在onResume()上做相应的动作。
但是系统启动器图标是为每个活动创建的! 我尝试将类别更改为DEFAULT,图标消失,但无法从Google搜索启动活动。似乎是谷歌搜索只能启动与LAUNCHER类别的活动。
因此,需要从谷歌搜索启动活动(或者只是发送意图,如果可能)。问题 - 发射器上的额外图标。
答案 0 :(得分:0)
您无法使用<action android:name="android.intent.action.LAUNCHER" />
两次,因为这会产生2个启动图标。另外,从两个活动中删除<category android:name="android.intent.category.DEFAULT" />
。相反,只关注只有一个主要的启动器活动,其中getIntent()
被调用,然后在必要时将意图附带的任何意图/额外/标志/其他数据重新发送到您的第二个活动中。或者,在主启动器活动中处理意图,然后在第二个活动中调用另一个方法。