【发布时间】:2012-08-24 12:27:26
【问题描述】:
android 或 ndk 中是否有任何规定可以知道哪个用户应用程序正在使用哪个系统服务? 或者使用 pid 的另一种方式:-
假设我有一个使用麦克风的应用程序,麦克风由系统服务(名为媒体服务)打开。我可以设法获取上述服务(媒体服务)的 pid。现在我想知道哪个用户应用程序正在使用上述服务的pid(媒体服务)。
【问题讨论】:
标签: android linux android-ndk microphone lso
android 或 ndk 中是否有任何规定可以知道哪个用户应用程序正在使用哪个系统服务? 或者使用 pid 的另一种方式:-
假设我有一个使用麦克风的应用程序,麦克风由系统服务(名为媒体服务)打开。我可以设法获取上述服务(媒体服务)的 pid。现在我想知道哪个用户应用程序正在使用上述服务的pid(媒体服务)。
【问题讨论】:
标签: android linux android-ndk microphone lso
如果您是系统服务的实现者(例如通过创建您自己的 Android 操作系统分支),则应该有办法通过 Binder IPC 协议来执行此操作。实现使用绑定模式的服务的 SDK 应用程序可以通过调用其Binder 对象来找出谁调用了它们。如果 SDK 应用能够获取该信息,则可以想象系统服务可以从其 C/C++ Binder 等效项中获取相同的信息。
如果您不是系统服务的实现者,那么不,应用程序和系统服务之间的通信对于这些进程来说是私有的。
【讨论】: