http://download.csdn.net/download/zhang_mq/9222807
/Settings/res/layout/hidden_apps_list.xml
/Settings/res/layout/hidden_apps_list_item.xml
private boolean getProtectedStateFromComponentName(ComponentName componentName) {
return mProtectedApps.contains(componentName);
}
import android.content.pm.PackageManager;
private PackageManager mPackageManager;
后台保护指的是在后台清理运存的时候如果你未勾选的软件后台讲自动视为可以强制关闭,进行清理。
Android4.0之后有一个受保护的后台应用这个设置,一般都是放在省电模式里的。
在受保护的后台应用中将希望保持的后台程序勾选,这样就可以使手机在运行其他应用的时候继续运行保护的后台。
当然了,目前也就在华为emui中见过省电模式。
其他的手机的话,可以下载诸如腾讯手机管家之类的管理软件,也是在省电设置里面,也是受保护的后台应用,选择上需要保持的应用即可。
SHOW_PROTECTED_APPS
ProtectedAppsActivity->LockPatternActivity
public static void updateProtectedAppComponentsAndNotify(Context context,
ArrayList<ComponentName> components, boolean state) {
updateProtectedAppComponents(context, components, state);
updateSettingsSecure(context, components, state);
notifyProtectedChanged(context, components, state);
}
./core/java/android/provider/Settings.java: public static final String PROTECTED_COMPONENTS = "protected_components";
./services/core/java/com/android/server/pm/Settings.java: private static final String TAG_PROTECTED_COMPONENTS = "protected-components";
./services/core/java/com/android/server/pm/Settings.java: } else if (tagName.equals(TAG_PROTECTED_COMPONENTS)) {
if (mBackupStoppedPackagesFilename.exists()
|| mStoppedPackagesFilename.exists()) {
// Read old file
readStoppedLPw();
mBackupStoppedPackagesFilename.delete();
mStoppedPackagesFilename.delete();
// Migrate to new file format
writePackageRestrictionsLPr(0);
} else {
if (users == null) {
readPackageRestrictionsLPr(0);
} else {
for (UserInfo user : users) {
readPackageRestrictionsLPr(user.id);
}
}
}
./services/core/java/com/android/server/pm/Settings.java: serializer.startTag(null, TAG_PROTECTED_COMPONENTS);
./services/core/java/com/android/server/pm/Settings.java: serializer.endTag(null, TAG_PROTECTED_COMPONENTS);
/Settings/res/layout/hidden_apps_list.xml
/Settings/res/layout/hidden_apps_list_item.xml
private boolean getProtectedStateFromComponentName(ComponentName componentName) {
return mProtectedApps.contains(componentName);
}
import android.content.pm.PackageManager;
private PackageManager mPackageManager;
后台保护指的是在后台清理运存的时候如果你未勾选的软件后台讲自动视为可以强制关闭,进行清理。
Android4.0之后有一个受保护的后台应用这个设置,一般都是放在省电模式里的。
在受保护的后台应用中将希望保持的后台程序勾选,这样就可以使手机在运行其他应用的时候继续运行保护的后台。
当然了,目前也就在华为emui中见过省电模式。
其他的手机的话,可以下载诸如腾讯手机管家之类的管理软件,也是在省电设置里面,也是受保护的后台应用,选择上需要保持的应用即可。
SHOW_PROTECTED_APPS
ProtectedAppsActivity->LockPatternActivity
public static void updateProtectedAppComponentsAndNotify(Context context,
ArrayList<ComponentName> components, boolean state) {
updateProtectedAppComponents(context, components, state);
updateSettingsSecure(context, components, state);
notifyProtectedChanged(context, components, state);
}
./core/java/android/provider/Settings.java: public static final String PROTECTED_COMPONENTS = "protected_components";
./services/core/java/com/android/server/pm/Settings.java: private static final String TAG_PROTECTED_COMPONENTS = "protected-components";
./services/core/java/com/android/server/pm/Settings.java: } else if (tagName.equals(TAG_PROTECTED_COMPONENTS)) {
if (mBackupStoppedPackagesFilename.exists()
|| mStoppedPackagesFilename.exists()) {
// Read old file
readStoppedLPw();
mBackupStoppedPackagesFilename.delete();
mStoppedPackagesFilename.delete();
// Migrate to new file format
writePackageRestrictionsLPr(0);
} else {
if (users == null) {
readPackageRestrictionsLPr(0);
} else {
for (UserInfo user : users) {
readPackageRestrictionsLPr(user.id);
}
}
}
./services/core/java/com/android/server/pm/Settings.java: serializer.startTag(null, TAG_PROTECTED_COMPONENTS);
./services/core/java/com/android/server/pm/Settings.java: serializer.endTag(null, TAG_PROTECTED_COMPONENTS);