从 Android 活动(Google 语音搜索)启动预装应用程序

2023-12-23

我正在尝试使用以下代码从我的应用程序启动 Google 语音搜索。它在 Nexus One 上运行良好,其中 Google 语音搜索是一个下载的应用程序,但在我预装的 Galaxy Nexus 上却无法运行。当到达 getLaunchIntentForPackage 时,结果为 NULL。有人可以帮忙吗?

Intent i = new Intent(Intent.ACTION_MAIN);
    PackageManager manager = getPackageManager();
    try {
        i = manager.getLaunchIntentForPackage("com.google.android.voicesearch");
    } catch (NameNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    i.addCategory(Intent.CATEGORY_LAUNCHER);
    startActivity(i);

我遇到了完全相同的问题。这似乎是由google在ICS中打包语音组件的方式造成的。它不再是一个独立的应用程序。它通过通用搜索应用程序集成到搜索栏中。

修复方法非常简单:

Intent intent = new Intent(RecognizerIntent.ACTION_WEB_SEARCH);
startActivity(intent);

我通过本教程发现了更多关于一般语音识别的内容:http://www.jameselsey.co.uk/blogs/techblog/android-how-to-implement-voice-recognition-a-nice-easy-tutorial/ http://www.jameselsey.co.uk/blogs/techblog/android-how-to-implement-voice-recognition-a-nice-easy-tutorial/

那里有一些代码来验证语音识别器是否已安装:

PackageManager pm = getPackageManager();
List<ResolveInfo> activities = pm.queryIntentActivities(
    new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH), 0);
    if (activities.size() == 0)
    {
        speakButton.setEnabled(false);
        speakButton.setText("Recognizer not present");
    }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 Android 活动(Google 语音搜索)启动预装应用程序 的相关文章

随机推荐