1. 程式人生 > >Android service獲取呼叫者的真實package name

Android service獲取呼叫者的真實package name

我有一個service,別的App可以呼叫它。
我的service想獲取呼叫者的packageName,該如何做呢?

實踐表明:必須呼叫者事先寫進Intent, 才能才能通過intent.getComponent().getPackageName()獲取到包名。如何才能不用呼叫者事先寫入,直接獲取(即,如何防止使用者偽造packageName)

方法如下:

String callingApp = context.getPackageManager().getNameForUid(Binder.getCallingUid());

轉自:http://www.zhihu.com/question/25307496