如何找到正在使用相机的应用程序?
How to find the application that is using camera?
我正在做一个 Android 应用程序来发现是否有应用程序在后台使用相机。
感谢 this,我可以找到是否有应用程序正在使用您 Android phone 中的相机,所以我的代码如下所示:
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());
但是现在我发现了一个问题:如何找到正在使用相机的应用程序(因为"app"我的意思是应用程序的包名)?我试过使用
manager.[something]
,希望 Android Studio 中的自动提示可以帮助我,但没有成功。
你能帮帮我吗?
如果您需要更多信息,请问我。
提前致谢,
F.
不可能满足您的要求。
两种解决方案是:
(1) 修改AndroidSource,给CameraManager添加新的方法(以及其他组件中的其他方法)
(2) 使用 Xposed Framework(需要 Root 权限)并创建一个侦听 "openCamera()" 事件的模块并保存调用者 PackageName 以备后用,当你想知道谁是最后一个调用者时。
我正在做一个 Android 应用程序来发现是否有应用程序在后台使用相机。
感谢 this,我可以找到是否有应用程序正在使用您 Android phone 中的相机,所以我的代码如下所示:
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());
但是现在我发现了一个问题:如何找到正在使用相机的应用程序(因为"app"我的意思是应用程序的包名)?我试过使用
manager.[something]
,希望 Android Studio 中的自动提示可以帮助我,但没有成功。
你能帮帮我吗?
如果您需要更多信息,请问我。
提前致谢,
F.
不可能满足您的要求。
两种解决方案是: (1) 修改AndroidSource,给CameraManager添加新的方法(以及其他组件中的其他方法) (2) 使用 Xposed Framework(需要 Root 权限)并创建一个侦听 "openCamera()" 事件的模块并保存调用者 PackageName 以备后用,当你想知道谁是最后一个调用者时。