我在一个应用程序中有一个服务,我可以从不同的应用程序访问该服务。
当应用程序尝试绑定此服务时,我想知道哪个应用程序正在尝试在 onBind 函数中绑定我的服务,
但我无法在 onBind 函数中获取该应用程序的包名称或 UID。
是否可以获取尝试在 onBind 函数中绑定我的服务的应用程序名称或 UID?
您可以使用以下内容来确定调用应用程序。
String callingApp = context.getPackageManager().getNameForUid(Binder.getCallingUid());
重要的是要注意JavaDoc 用于getCallingUid() http://developer.android.com/reference/android/os/Binder.html#getCallingUid()其中说:
返回分配给向您发送当前正在处理的事务的进程的 Linux uid。该uid可以与更高级别的系统服务一起使用来确定其身份并检查权限。如果当前线程当前没有执行传入事务,则返回其自己的 uid。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)