0
세 번째 앱에서 ActivityManager.RunningServiceInfo에 의해 다른 앱의 서버를 종료하고 싶습니다. 예를 들어, 일부 앱의 서비스를 계속 사용하고 싶다면 다른 서비스 (서비스 START_STICK에 맞지 않음)가 삭제됩니다. 여기 내 코드입니다 :java.lang.SecurityException : 서비스를 중지 할 수 없습니다. 의도?
ActivityManager actManager = (ActivityManager) mContext.getSystemService(Context.ACTIVITY_SERVICE);
List killapplist = actManager.getRunningAppProcesses();
List killservicelist = actManager.getRunningServices(100);
for (Object aKillapplist : killapplist) {
ActivityManager.RunningAppProcessInfo localRunningAppProcessInfo = (ActivityManager.RunningAppProcessInfo)
aKillapplist;
String appname = localRunningAppProcessInfo.processName;
if (localRunningAppProcessInfo.pkgList != null) {
for (Object aKillservicelist : killservicelist) {
ActivityManager.RunningServiceInfo localRunningServiceInfo = (ActivityManager.RunningServiceInfo) aKillservicelist;
//some condition start
try {
Intent intentstop = new Intent();
intentstop.setComponent(localRunningServiceInfo.service);
mContext.stopService(intentstop);
} catch (SecurityException e) {
e.printStackTrace();
}
//some condition end
}
}
}
} else {
throw new MyException("kill list is empty");
}
후 항상
WARN/ActivityManager(363): Permission Denial: Accessing service ComponentInfo
WARN/System.err(5992): java.lang.SecurityException: Not allowed to stop service Intent
는 SYS 서명의 문제 MSG 경고거야? 좀 허락
uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES"
uses-permission android:name="android.permission.SHUTDOWN"
uses-permission android:name="android.permission.FORCE_STOP_PACKAGES"
어떻게 문제를 해결하는
를 사용? 감사합니다.
응용 프로그램의 Android.mk 파일에 LOCAL_CERTIFICATE : = platform을 추가해야합니다. – Yury
정말 고마워요. –