예를들면 패키지 퍼미션을 찾아 녹음을 할 수 있는 권한인 RECORD_AUDIO을 가진 녀석이 있고 지금 내가 안드로이드 화면에 띄운 녀석이 녹음 어플리케이션이라면 두 녀석의 패키지를 비교하는 것입니다.
어찌저찌 찾아서 만든 것은 아래와 같습니다.
List<ActivityManager.RunningAppProcessInfo> proceses = mActivityMng.getRunningAppProcesses();
if(mStop){
for(ActivityManager.RunningAppProcessInfo process : proceses){
PackageManager pm = getPackageManager();
try{
String topactivityname = getTopActivityName();
PackageInfo pi = pm.getPackageInfo(process.processName,PackageManager.GET_PERMISSIONS);
Log.d("test","Packageinfo1");
if(pi.requestedPermissions != null){Log.d("test","PackageInfo Setup2");
for(int j=0; j< pi.requestedPermissions.length; j++){
if(pi.requestedPermissions[j] !=null){
if(pi.requestedPermissions[j].contains(permission)) {
Log.d("permission", String.valueOf(pi.requestedPermissions[j].equals(topactivityname)));
Log.d("name",process.processName);
if (topactivityname.equals(process.processName)){
Log.d("test"," 화면에 띄워진 어플이 녹음권한을 가진 어플이다");
}