Android打算打开应用程序,但不起作用
我正在尝试打开谷歌语音搜索应用程序Android打算打开应用程序,但不起作用,android,android-intent,Android,Android Intent,我正在尝试打开谷歌语音搜索应用程序 Intent i; PackageManager manager = getPackageManager(); try { i = manager.getLaunchIntentForPackage("com.google.android.voicesearch"); if (i == null) throw new PackageManager.NameNotFoundExcep
Intent i;
PackageManager manager = getPackageManager();
try {
i = manager.getLaunchIntentForPackage("com.google.android.voicesearch");
if (i == null)
throw new PackageManager.NameNotFoundException();
i.addCategory(Intent.CATEGORY_LAUNCHER);
startActivity(i);
} catch (PackageManager.NameNotFoundException e) {
}
这不会启动语音搜索应用程序,
但是,如果我使用com.google.android.apps.maps作为包名,则会打开谷歌地图应用程序
我不明白为什么语音搜索没有打开,即使包名是正确的。
解决方案
Intent intent = new Intent(RecognizerIntent.ACTION_WEB_SEARCH);
startActivity(intent);
请看
有关解决方案的更多信息
谢谢。如您所知,getLaunchIntentForPackage(String packageName)
返回“良好”意图,以在包中启动前门活动[…]
当前的实现将首先考虑
对于类别信息中的主要活动,下一步是主要活动
category_启动器中的活动,如果两者都不存在,则返回null
找到了
因此,在intent中,已经设置了类别。如果您手动更改它,可能是违背了意图,因为该类别可能不是经理找到的正确类别
所以,只需删除该行
i.addCategory(Intent.CATEGORY_LAUNCHER);