, .
@Override
public IBinder onBind(Intent intent) {
@SuppressWarnings("static-access")
int uid = mBinder.getCallingUid();
final PackageManager pm = getPackageManager();
String name = pm.getNameForUid(uid);
Log.d("ITestService", String.format("onBind: calling name: %s"), name);
return mBinder;
}
Stub AIDL:
private final ITestService.Stub mBinder = new ITestService.Stub() {
public void test() {
int uid = Binder.getCallingUid();
final PackageManager pm = getPackageManager();
String name = pm.getNameForUid(uid);
String[] packageNames = pm.getPackagesForUid(uid);
Log.d("ITestService", String.format("Calling uid: %d (getNameForUid: %s)", uid, name));
for (String packageName : packageNames) {
Log.d("ITestService", String.format("getPackagesForUid: %s", packageName));
}
int pid = Binder.getCallingPid();
Log.d("ITestService", String.format("Calling pid: %d", pid));
String processName = "";
ActivityManager am = (ActivityManager) getSystemService( ACTIVITY_SERVICE );
List<ActivityManager.RunningAppProcessInfo> processes = am.getRunningAppProcesses();
for (ActivityManager.RunningAppProcessInfo proc : processes) {
if (proc.pid == pid) {
processName = proc.processName;
Log.d("ITestService", String.format("Found ProcessName of pid(%d): %s", pid, processName));
}
}
}
}
PID , , .