是否可以从应用程序获得对 Android 麦克风的独占访问权限?
我正在尝试扩展 CSipSimple 应用程序,我的目标是提高它的安全性。 我不知道如何实现的目标之一是阻止其他应用程序记录我的对话。
我从 PlayStore 下载了一个应用程序,它被称为 Call Recorder,当我拨打电话号码时它会自动启动,并且它正在记录我的电话对话。 这就是我需要避免的。
那么,我可以在通话时停止任何应用程序录制我的声音吗?
正如 Harsha C Alva 提到的,实现此目的的一种方法是迭代已安装的应用程序,检查它们的权限,并在它们正在运行时终止它们。
为了迭代安装应用程序
private void iterateInstalledApps()
{
PackageManager p = this.getPackageManager();
final List <PackageInfo> appinstall =
p.getInstalledPackages(PackageManager.GET_PERMISSIONS);
for(PackageInfo pInfo:appinstall)
{
String[] reqPermission=pInfo.requestedPermissions;
if(reqPermission!=null)
{
for(int i=0;i<reqPermission.length;i++)
{
if (((String)reqPermission[i]).equals("android.permission.RECORD_AUDIO"))
{
killPackage(pInfo.packageName.toString());
break;
}
}
}
}
}
为了杀掉一个包
private void killPackage(String packageToKill)
{
ActivityManager actvityManager =
(ActivityManager) this.getSystemService( ACTIVITY_SERVICE );
final List<RunningAppProcessInfo> procInfos =
actvityManager.getRunningAppProcesses();
for (RunningAppProcessInfo runningAppProcessInfo : procInfos)
{
if(runningAppProcessInfo.processName.equals(packageToKill))
{
android.os.Process.sendSignal(runningAppProcessInfo.pid,
android.os.Process.SIGNAL_KILL);
actvityManager.killBackgroundProcesses(packageToKill);
}
}
}
您可以在计时器中调用 iterateInstalledApps ,因为 Android 会立即重新启动应用程序。如果您继续终止该应用程序,它将无法记录任何内容。在打电话时使用通话录音机进行测试。
我对 Android 不太了解,但如果无法获得对麦克风的独占访问权限,您可以采取的一种方法是监视具有麦克风权限的应用程序(如果存在),并使用 root 关闭它们。或者,当您的应用程序运行时,您可以删除此类应用程序的广播侦听器,就像某些自动运行管理器所做的那样。
Android 的问题在于,您无法直接在应用程序中访问硬件(无论是否是原生的),Android 为管理硬件的硬件实现了服务器,您的应用程序连接到它们并获取这些服务器提供的内容。
有一个来自 android 人员的精彩视频在媒体框架案例中描述了这个模型。 这里是它的链接。
所以不,你不能在此模型中实施访问限制,也就是说其他答案代表了确保麦克风不被其他人访问的合理方法。
我很确定您可以仅获得对麦克风的独占访问权限。如果我尝试同时使用两个
AudioRecord
,我会收到此错误:
E/AudioRecord: start() status -38
这实际上是我在互联网上找到的有关该主题的唯一信息:
https://groups.google.com/forum/#!topic/android-ndk/d7iQm0pyiC0
我在 Android oppo f7 手机上进行语音通话时遇到 Android 麦克风问题,请阅读以下内容并协助谢谢,
Android 手机视频通话麦克风未启用,并且似乎卡在进行视频通话时 Android 手机屏幕上出现的禁用设置上,出现麦克风图标/符号,并且其上出现对角渣,如何启用屏幕麦克风,点击它不会改变视频通话麦克风。您可以拨打03330374881卡拉奇号码接听,感谢您的帮助,
业余时间