我正在做一个Android应用程序,用于发现某个应用程序是否在后台使用相机。
由于this,我可以找到一个应用程序是否正在您的Android手机中使用相机,因此我的代码如下:
CameraManager manager = (CameraManager) getSystemService(Context.CAMERA_SERVICE);
@Override
public void onCameraAvailable(@NonNull String cameraId) {
super.onCameraAvailable(cameraId);
//Camera is not used
}
@Override
public void onCameraUnavailable(@NonNull String cameraId) {
super.onCameraUnavailable(cameraId);
//Camera is used
}
}, new Handler());
但是现在我发现了一个问题:如何找到正在使用相机的应用(作为“应用”,我是指应用的程序包名称)?我试过使用
manager.[something]
,希望Android Studio中的自动提示能对我有所帮助,但不会成功。
你能帮我吗?
如果您需要更多信息,请问我。
预先感谢
F。
答案 0 :(得分:0)
不可能是您要的。
两种解决方案是: (1)修改Android Source并将新方法添加到CameraManager(以及其他组件中的其他方法) (2)使用Xposed Framework(需要Root权限)并创建一个侦听“ openCamera()”事件的模块,并保存调用方PackageName以便以后想知道最后一个调用方时使用。