所以我想在android上构建一个虚拟助手。目前我正在尝试使用语音命令实现打开另一个应用程序的逻辑。我看到了这个question并试图实现相同的代码,但它给了我一个例外Unknown package: PackageName
。所以,如果我说“打开Facebook”,那么就说Unknown package: facebook
。我无法弄清楚为什么这段代码无效!
try {
if(text.contains("open") || text.contains("launch") || text.contains("play")) {
speech = text.split(" ", 2);
String appName = speech[1];
PackageManager pm = getPackageManager();
String pkgName = pm.getInstallerPackageName(appName);
Intent launchApp = getPackageManager().getLaunchIntentForPackage(pkgName);
startActivity(launchApp);
}
} catch (Exception ex) {
Toast.makeText(MainActivity.this, ex.getMessage(), Toast.LENGTH_SHORT).show();
}
编辑:在我提到的问题上,我从答案#6得到了帮助。