代码路径vendor/mediatek/proprietary/packages/apps/MtkSettings/src/com/android/settings/applications/appinfo/AppButtonsPreferenceController.java
修改内容
boolean handleDisableable() {
boolean disableable = false;
// Try to prevent the user from bricking their phone
// by not allowing disabling of apps signed with the
// system cert and any launcher app in the system.
if (mHomePackages.contains(mAppEntry.info.packageName)
|| isSystemPackage(mActivity.getResources(), mPm, mPackageInfo)) {
// Disable button for core system applications.
mButtonsPref.setButton2Text(R.string.disable_text)
.setButton2Icon(R.drawable.ic_settings_disable);
} else if (mAppEntry.info.enabled && !isDisabledUntilUsed()) {
mButtonsPref.setButton2Text(R.string.disable_text)
.setButton2Icon(R.drawable.ic_settings_disable);
disableable = !mApplicationFeatureProvider.getKeepEnabledPackages()
.contains(mAppEntry.info.packageName);
+ if (isForceStopApkPackageName(mPackageInfo.packageName)) {
+ disableable = false;
+ }
} else {
mButtonsPref.setButton2Text(R.string.enable_text)
.setButton2Icon(R.drawable.ic_settings_enable);
disableable = true;
}
return disableable;
}
+ private static final List<String> mForceStopPackageMap = new LinkedList<>();
+ public boolean isForceStopApkPackageName(String apkPkg) {
+ return mForceStopPackageMap.contains(apkPkg);
+ }
+ //需要强行停止的apk包名,添加到这里
+ static {
+ mForceStopPackageMap.add("packagename");
+ }