如何检测Android中是否存在麦克风?

前端之家收集整理的这篇文章主要介绍了如何检测Android中是否存在麦克风?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我的应用程序中有一个语音识别部分来捕获用户的语音输入.

这就是我的工作

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

原文链接:https://www.f2er.com/android/318582.html

猜你在找的Android相关文章