写点什么

优雅保活方案,原来 Android 还可以这样保活!

发布于: 2021 年 11 月 07 日
  • 跳转到指定应用的首页


*/


private void showActivity(@NonNull String packageName) {


Intent intent = getPackageManager().getLaunchIntentForPackage(packageName);


startActivity(intent);


}


/**


  • 跳转到指定应用的指定页面


*/


private void showActivity(@NonNull String packageName, @NonNull String activityDir) {


Intent intent = new Intent();


intent.setComponent(new ComponentName(packageName, activityDir));


intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);


startActivity(intent);


}


以下是部分手机的厂商判断,跳转方法及对应设置步骤,跳转方法不保证在所有版本上都能成功跳转,都需要加 try catch。


华为


厂商判断:


public bool


《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》
浏览器打开:qq.cn.hn/FTe 免费领取
复制代码


ean isHuawei() {


if (Build.BRAND == null) {


return false;


} else {


return Build.BRAND.toLowerCase().equals("huawei") || Build.BRAND.toLowerCase().equals("honor");


}


}


跳转华为手机管家的启动管理页:


private void goHuaweiSetting() {


try {


showActivity("com.huawei.systemmanager",


"com.huawei.systemmanager.startupmgr.ui.StartupNormalAppListActivity");


} catch (Exception e) {


showActivity("com.huawei.systemmanager",


"com.huawei.systemmanager.optimize.bootstart.BootStartActivity");


}


}


操作步骤:应用启动管理 -> 关闭应用开关 -> 打开允许自启动


小米


厂商判断:


public static boolean isXiaomi() {


return Build.BRAND != null && Build.BRAND.toLowerCase().equals("xiaomi");


}


跳转小米安全中心的自启动管理页面:


private void goXiaomiSetting() {


showActivity("com.miui.securitycenter",


"com.miui.permcenter.autostart.AutoStartManagementActivity");


}


操作步骤:授权管理 -> 自启动管理 -> 允许应用自启动


OPPO


厂商判断:


public static boolean isOPPO() {


return Build.BRAND != null && Build.BRAND.toLowerCase().equals("oppo");


}


跳转 OPPO 手机管家:


private void goOPPOSetting() {


try {


showActivity("com.coloros.phonemanager");


} catch (Exception e1) {


try {


showActivity("com.oppo.safe");


} catch (Exception e2) {


try {


showActivity("com.coloros.oppoguardelf");


} catch (Exception e3) {


showActivity("com.coloros.safecenter");


}


}


}


}


操作步骤:权限隐私 -> 自启动管理 -> 允许应用自启动


VIVO


厂商判断:


public static boolean isVIVO() {


return Build.BRAND != null && Build.BRAND.toLowerCase().equals("vivo");


}


跳转 VIVO 手机管家:


private void goVIVOSetting() {


showActivity("com.iqoo.secure");


}


操作步骤:权限管理 -> 自启动 -> 允许应用自启动


魅族


厂商判断:


public static boolean isMeizu() {


return Build.BRAND != null && Build.BRAND.toLowerCase().equals("meizu");


}


跳转魅族手机管家:


private void goMeizuSetting() {


showActivity("com.meizu.safe");


}


操作步骤:权限管理 -> 后台管理 -> 点击应用 -> 允许后台运行


三星


厂商判断:


public static boolean isSamsung() {


return Build.BRAND != null && Build.BRAND.toLowerCase().equals("samsung");


}


跳转三星智能管理器:


private void goSamsungSetting() {


try {


showActivity("com.samsung.android.sm_cn");


} catch (Exception e) {


showActivity("com.samsung.android.sm");


}


}


操作步骤:自动运行应用程序 -> 打开应用开关 -> 电池管理 -> 未监视的应用程序 -> 添加应用


乐视


厂商判断:


public static boolean isLeTV() {


return Build.BRAND != null && Build.BRAND.toLowerCase().equals("letv");


}


跳转乐视手机管家:


private void goLetvSetting() {


showActivity("com.letv.android.letvsafe",


"com.letv.android.letvsafe.AutobootManageActivity");


}


操作步骤:自启动管理 -> 允许应用自启动


锤子


厂商判断:


public static boolean isSmartisan() {


return Build.BRAND != null && Build.BRAND.toLowerCase().equals("smartisan");


}


跳转手机管理:


private void goSmartisanSetting() {


showActivity("com.smartisanos.security");


}

评论

发布
暂无评论
优雅保活方案,原来Android还可以这样保活!