发这篇文章的原因是因为,最近在研究MIUI后台如何保活。
传统做法:
public void openBigGodMode(View v){
Intent intent = new Intent();
intent.setComponent(new ComponentName("com.miui.powerkeeper",
"com.miui.powerkeeper.ui.HiddenAppsContainerManagementActivity"));
startActivityForResult(intent,GOD_MODE_ALL);
}
这么麻烦的,加载时间长不说,还要用户手动做选择,体验是非常不好的。
经过一些搜索,还是无果,最后反编译了PowerKeeper的源码
最好的做法:(用户体验最佳)
public void openGodMode(View v){
Intent intent = new Intent();
intent.setComponent(new ComponentName("com.miui.powerkeeper",
"com.miui.powerkeeper.ui.HiddenAppsConfigActivity"));
intent.putExtra("package_name", "你的包名写在这里");
intent.putExtra("package_label", "你的app名字写在这里");
startActivity(intent);
}
最后,叮嘱一句,用StartActivityForResult启动那个intent,不管在神隐模式的界面怎么操作,返回的resultCode总是0,也就是RESULT_CANCELED,所以无法判断用户是否关了神隐模式