在android中是否有任何规定知道哪个用户应用程序正在使用哪个系统服务

问题描述:

在android或ndk中是否有任何规定知道哪个用户应用程序正在使用哪个系统服务? 或通过使用pid的另一种方式: -在android中是否有任何规定知道哪个用户应用程序正在使用哪个系统服务

假设我有一个应用程序使用麦克风,麦克风由系统服务(名为媒体服务器)打开。我可以设法获得上述服务(媒体服务)的PID。现在我想知道哪个用户应用程序正在使用上述服务(媒体服务)的pid。

如果您是系统服务的实施者 - 例如通过创建您自己的Android OS分支 - 应该有办法通过Binder IPC协议来实现。实现使用绑定模式的服务的SDK应用程序可以通过调用它们的Binder对象来找出谁称它们。如果SDK应用程序能够获取该信息,则可以设想系统服务可以从其C/C++ Binder等价物中获得相同的信息。

如果您不是系统服务的实施者,那么不应该,应用程序和系统服务之间的通信对于这些进程是私有的。

+0

@CommomsWare先生我不是实施者实际上我尝试了这个知道我的手机的哪个应用程序正在使用我的麦克风,我也建立了另一种方式写在这里http://*.com/questions/12104284/如何知道哪个应用程序正在使用这个麦克风,你可以告诉他们其中的任何一个? – chiv

+0

@chiv:我不知道SDK应用程序是否有任何方法来确定其他SDK应用程序是否正在使用麦克风。 – CommonsWare

+0

@CommomsWare sir do u我们如何在Android 2.3.3中运行dumpsys,因为即使在添加像android.permission.DUMP之类的权限之后,我仍然可以拒绝某些权限的权限 – chiv