응용 프로그램을 어떻게 탐지 할 수 있습니까?
문제
사용자가 버튼을 클릭하면 응용 프로그램을 제거 할 것입니다.이 코드로 :
Uri packageURI = Uri.parse("package:"
+ pkNames[position]);
Intent uninstallIntent = new Intent(
Intent.ACTION_DELETE, packageURI);
context.startActivity(uninstallIntent);
.
그러나 일부 응용 프로그램은 제거되지 않습니다.설정이나 음악과 같은 ... 내가이 응용 프로그램을 제거하려고 할 때는 다음과 같습니다. 제거는 성공하지 못합니다.
이 코드로 내 패키지를 가져옵니다.
Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);
mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);
packages = pm.queryIntentActivities(mainIntent, 0);
.
응용 프로그램을 어떻게 탐지 할 수 있습니까?
해결책
제거하려는 응용 프로그램이 ApplicationInfo.flags
를 들여다 보면 "시스템"인지 확인해야합니다.시스템 응용 프로그램에는 ApplicationInfo.FLAG_SYSTEM
비트 세트가 있습니다.
여기에 약간의 코드가 있습니다 :
boolean isSystem(ApplicationInfo info) {
return (info.flags & ApplicationInfo.FLAG_SYSTEM) != 0;
}
.
제휴하지 않습니다 StackOverflow