我的应用程序中有一个语音识别部分来捕获用户的语音输入.
这就是我的工作
Intent voiceIntent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH); startActivityForResult(voiceIntent,REQUEST_CODE);
这在大多数设备上工作正常,但现在由于平板电脑越来越流行,其中一些没有麦克风,它会引发错误
W/dalvikvm( 408): threadid=1: thread
exiting with uncaught exception
(group=0x40015560) E/AndroidRuntime(
408): FATAL EXCEPTION: main
E/AndroidRuntime( 408):
android.content.ActivityNotFoundException:
No Activity found to handle Intent {
act=android.speech.action.RECOGNIZE_SPEECH
(has extras) } E/AndroidRuntime(
408): at
android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1408)
…..
所以我想在让用户访问语音输入功能之前检测麦克风是否存在.如何检测设备上是否有麦克风.
谢谢.
解决方法
PackageManager pm = getPackageManager(); boolean micPresent = pm.hasSystemFeature(PackageManager.FEATURE_MICROPHONE);
Android API参考:hasSystemFeature
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。