注意:大约2年前有一个类似的帖子。从那以后找到一个好的解决方案是可能的。
我需要检测我的应用程序是否在没有麦克风的Kindle Fire上运行,例如Kindle Fire(第1代)。我在打开应用程序后立即需要该信息,以便相应地调整用户界面。我尝试了以下明显的方法:
1)Microphone.isSupported
:它有问题,即使没有麦克风的设备也会返回TRUE。
2)Microphone.names
:即使没有,也会返回AndroidMicrophone
。
我还特别喜欢其他方法:
1)听麦克风ActivityEvent.ACTIVITY
或SampleDataEvent.SAMPLE_DATA
事件几秒钟。
2)使用定制的ANE检测Kindle设备版本,该ANE将调用android.os.Build.MANUFACTURER
和android.os.Build.MODEL
。
3)使用funkymonkey.android.deviceinfo
根据设备信息的一些独特组合来检测Kindle
对于如何在不构建ANE的情况下以最可靠的方式检测麦克风或至少Kindle Fire版本,您有什么建议吗?
答案 0 :(得分:-2)
这个函数调用可以解决问题:
PackageManager.hasSystemFeature(PackageManager.FEATURE_MICROPHONE);