본문 바로가기

Android.log

Service binder 한 process정보 얻어오기

반응형

Service 에서 bind를 제공 할 경우 bind요청하는 App의 PackageName 정보를 가져오는 방법입니다.


int nCallingPid = Binder.getCallingPid();

Log.e("TEST", "nCallingPid = " + nCallingPid);

ActivityManager localActivityManager = (ActivityManager)getSystemService("activity");

PackageManager localPackageManager = getPackageManager();

PackageInfo localPackageInfo = null;

 List<RunningAppProcessInfo> localList = localActivityManager.getRunningAppProcesses();

for (RunningAppProcessInfo info : localList) {

if(info.pid == nCallingPid){

try {

localPackageInfo = localPackageManager.getPackageInfo(info.processName, 4096);

Log.e("TEST", ", package = " +localPackageInfo.packageName);

} catch (NameNotFoundException e) {

e.printStackTrace();

}

}

}

 


반응형