如何检测Android中是否有应用程序请求麦克风?

如何检测Android中是否有应用程序请求麦克风?,android,microphone,Android,Microphone,我正在开发一个应用程序,需要知道其他第三方应用程序何时请求麦克风。 有没有办法检测到它 提前谢谢 经过一些研究,似乎不可能知道另一个第三方应用程序出于安全原因何时请求麦克风 如果您想根据媒体录制器的实际状态执行操作,您可能需要按照本帖中的说明进行处理: 关于检测其他应用程序访问权限,我认为这可以提供一个答案: 但是,如果您想检查需要RECORD_AUDIO权限的应用程序,您可以继续阅读以下内容: 根据at的答案 要获取请求麦克风的应用程序列表,您可以按如下操作: final Intent ma

我正在开发一个应用程序,需要知道其他第三方应用程序何时请求麦克风。 有没有办法检测到它


提前谢谢

经过一些研究,似乎不可能知道另一个第三方应用程序出于安全原因何时请求麦克风

如果您想根据媒体录制器的实际状态执行操作,您可能需要按照本帖中的说明进行处理:

关于检测其他应用程序访问权限,我认为这可以提供一个答案:

但是,如果您想检查需要RECORD_AUDIO权限的应用程序,您可以继续阅读以下内容:

根据at的答案

要获取请求麦克风的应用程序列表,您可以按如下操作:

final Intent maintent=新意图(Intent.ACTION\u MAIN,空);
mainIntent.addCategory(Intent.CATEGORY_启动器);
最终列表pkgAppsList=getPackageManager().QueryInputActivities(mainIntent,0);
//创建包名称列表
List packagename=new ArrayList();
用于(对象对象对象:pkgAppsList){
ResolveInfo ResolveInfo=(ResolveInfo)obj;
PackageInfo-PackageInfo=null;
试一试{
packageInfo=getPackageManager().getPackageInfo(resolveInfo.activityInfo.packageName,PackageManager.GET_权限);
}捕获(PackageManager.NameNotFounde异常){
//TODO自动生成的捕捉块
e、 printStackTrace();
}
字符串[]requestedPermissions=packageInfo.requestedPermissions;
//检查麦克风权限
if(requestedPermissions!=null){
for(字符串packagePermission:requestedPermissions){
if(packagePermission==Manifest.permission.RECORD\u音频){
packageName.add(packageInfo.packageName);
打破
}
}
}
}

在设备上安装应用程序后,请在“设置”->“应用程序”->“应用程序”中检查权限。我认为这篇文章应该会有所帮助()嗨,谢谢你的回答,但我需要知道什么时候第三方申请要求麦克风录制音频。请考虑接受答案,如果它的工作,以帮助未来读者回答不解决我的问题。我需要知道任何应用程序何时请求麦克风录制音频,而不是该应用程序是否有录制音频的权限好的,太好了。让我相应地更新答案。谢谢你的批准