Android 機型設(shè)置自啟動的跳轉(zhuǎn)界面
由于之前版本號把23牲距,6.0誤寫成26门岔,8.0了,導(dǎo)致一些判斷是錯的毁习,并且在catch中沒有重新對intent更新智嚷,導(dǎo)致會有崩潰問題,現(xiàn)已修復(fù)纺且。
簡書怎么傳附件盏道?
根據(jù)adb shell dumpsys activity top 查看系統(tǒng)的當(dāng)前界面的包名得到以下結(jié)論:
華為 手機,廠商為honor或者h(yuǎn)uawei
9.0?com.huawei.systemmanager.startupmgr.ui.StartupNormalAppListActivity
8.0 com.huawei.systemmanager/.appcontrol.activity.StartupAppControlActivity
7.0 6.0 com.huawei.systemmanager/.startupmgr.ui.StartupNormalAppListActivity
5.0權(quán)限管理 com.huawei.systemmanager/com.huawei.permissionmanager.ui.MainActivity
5.0 開機自啟動 com.huawei.systemmanager/.optimize.bootstart.BootStartActivity
小米手機
8.0 7.0 6.0 com.miui.securitycenter/com.miui.permcenter.autostart.AutoStartManagementActivity
vivo
8.1.0 7.0 6.0 com.vivo.permissionmanager/.activity.BgStartUpManagerActivity
5.0 4.0com.iqoo.secure/.ui.phoneoptimize.SoftwareManagerActivity
7.0 6.0 com.vivo.permissionmanager/.activity.PurviewTabActivity
oppo
權(quán)限設(shè)置界面8.0 7.0 com.coloros.safecenter/com.coloros.privacypermissionsentry.PermissionTopActivity
com.color.safecenter/.permission.PermissionTopActivity
自啟動管理界面8.1.0 com.coloros.safecenter/.startupapp.StartupAppListActivity
自啟動管理界面7.0 6.0 com.coloros.safecenter/.startupapp.StartupAppListActivity
5.0 com.oppo.safe/.permission.startup.StartupAppListActivity
4.4.4 R系列 com.color.safecenter/.permission.startup.StartupAppListActivity
關(guān)聯(lián)啟動管理界面8.0 7.0 無6.0 com.coloros.safecenter/.startupapp.AssociateStartActivity
samsung
8.0? 7.1.1? com.samsung.android.sm_cn/com.samsung.android.sm.ui.ram.AutoRunActivity
跳轉(zhuǎn)代碼如下:
public class SettingUtil {
? public final static int HUAWEI_PHONEMODEL = 1;
? public final static int XIAOMI_PHONEMODEL = 2;
? public final static int VIVO_PHONEMODEL = 3;
? public final static int OPPO_PHONEMODEL = 4;
? public final static int SAMSUNG_PHONEMODEL = 5;
? public final static int DEFAULT_PHONEMODEL = 0;
? public static int getDeviceType(){
? ? ? int phoneModel;
? ? ? String deviceBrand = SystemUtils.getDeviceBrand();
? ? ? System.out.println(" deviceBrand : " + deviceBrand);
? ? ? if (!TextUtils.isEmpty(deviceBrand)) {
? ? ? ? if ("honor".equals(SystemUtils.getDeviceBrand().toLowerCase()) || "huawei".equals(SystemUtils.getDeviceBrand().toLowerCase())) {
? ? ? ? ? ? phoneModel = 1;
? ? ? ? } else if ("xiaomi".equals(SystemUtils.getDeviceBrand().toLowerCase())) {
? ? ? ? ? ? phoneModel = 2;
? ? ? ? } else if ("vivo".equals(SystemUtils.getDeviceBrand().toLowerCase())) {
? ? ? ? ? ? phoneModel = 3;
? ? ? ? } else if ("oppo".equals(SystemUtils.getDeviceBrand().toLowerCase())) {
? ? ? ? ? ? phoneModel = 4;
? ? ? ? } else if ("samsung".equals(SystemUtils.getDeviceBrand().toLowerCase())) {
? ? ? ? ? ? phoneModel = 5;
? ? ? ? } else {
? ? ? ? ? ? phoneModel = 0;
? ? ? ? }
? ? ? } else {
? ? ? ? phoneModel = 0;
? ? ? }
? ? ? return phoneModel;
? }
? public static void onViewClicked(int phoneModel, Context context) {
? ? ? Intent intent = new Intent();
? ? ? intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
? ? ? ComponentName comp = null;
? ? ? switch (phoneModel){
? ? ? ? case HUAWEI_PHONEMODEL:
? ? ? ? ? ? //華為 9.0 ACTIVITY com.huawei.systemmanager.startupmgr.ui.StartupNormalAppListActivity
? ? ? ? ? ? // 8.0 com.huawei.systemmanager/.appcontrol.activity.StartupAppControlActivity
? ? ? ? ? ? // 7.0 6.0 com.huawei.systemmanager/.startupmgr.ui.StartupNormalAppListActivity
? ? ? ? ? ? //5.0權(quán)限管理 com.huawei.systemmanager/com.huawei.permissionmanager.ui.MainActivity
? ? ? ? ? ? //5.0 開機自啟動 com.huawei.systemmanager/.optimize.bootstart.BootStartActivity
? ? ? ? ? ? if (Build.VERSION.SDK_INT >= 28){
? ? ? ? ? ? ? comp = new ComponentName("com.huawei.systemmanager","com.huawei.systemmanager.startupmgr.ui.StartupNormalAppListActivity");
? ? ? ? ? ? } else if (Build.VERSION.SDK_INT >= 26){
? ? ? ? ? ? ? comp =? new ComponentName("com.huawei.systemmanager",
? ? ? ? ? ? ? ? ? ? ? "com.huawei.systemmanager.appcontrol.activity.StartupAppControlActivity");
? ? ? ? ? ? } else if (Build.VERSION.SDK_INT >= 23){
? ? ? ? ? ? ? comp = new ComponentName("com.huawei.systemmanager",
? ? ? ? ? ? ? ? ? ? ? "com.huawei.systemmanager.startupmgr.ui.StartupNormalAppListActivity");
? ? ? ? ? ? } else {
? ? ? ? ? ? ? comp = new ComponentName("com.huawei.systemmanager",
? ? ? ? ? ? ? ? ? ? ? "com.huawei.systemmanager.com.huawei.permissionmanager.ui.MainActivity");
? ? ? ? ? ? }
? ? ? ? ? ? break;
? ? ? ? case XIAOMI_PHONEMODEL:
? ? ? ? ? ? // 8.0 7.0 6.0 com.miui.securitycenter/com.miui.permcenter.autostart.AutoStartManagementActivity
? ? ? ? ? ? comp = new ComponentName("com.miui.securitycenter",
? ? ? ? ? ? ? ? ? ? "com.miui.permcenter.autostart.AutoStartManagementActivity");
? ? ? ? ? ? break;
? ? ? ? case VIVO_PHONEMODEL:
? ? ? ? ? ? //8.1.0 7.0 6.0 com.vivo.permissionmanager/.activity.BgStartUpManagerActivity
? ? ? ? ? ? //5.0 4.0com.iqoo.secure/.ui.phoneoptimize.SoftwareManagerActivity
? ? ? ? ? ? //7.0 6.0 com.vivo.permissionmanager/.activity.PurviewTabActivity
? ? ? ? ? ? if (Build.VERSION.SDK_INT >= 23) {
? ? ? ? ? ? ? comp = new ComponentName("com.vivo.permissionmanager",
? ? ? ? ? ? ? ? ? ? ? "com.vivo.permissionmanager.activity.PurviewTabActivity");
? ? ? ? ? ? } else {
? ? ? ? ? ? ? comp = new ComponentName("com.iqoo.secure",
? ? ? ? ? ? ? ? ? ? ? "com.iqoo.secure.ui.phoneoptimize.SoftwareManagerActivity");
? ? ? ? ? ? }
? ? ? ? ? ? break;
? ? ? ? case OPPO_PHONEMODEL:
? ? ? ? ? ? //權(quán)限設(shè)置界面8.0 7.0 com.coloros.safecenter/com.coloros.privacypermissionsentry.PermissionTopActivity
? ? ? ? ? ? //? com.color.safecenter/.permission.PermissionTopActivity
? ? ? ? ? ? //自啟動管理界面8.1.0 com.coloros.safecenter/.startupapp.StartupAppListActivity
? ? ? ? ? ? //自啟動管理界面7.0 6.0 com.coloros.safecenter/.startupapp.StartupAppListActivity
? ? ? ? ? ? //5.0 com.oppo.safe/.permission.startup.StartupAppListActivity
? ? ? ? ? ? //4.4.4 R系列 com.color.safecenter/.permission.startup.StartupAppListActivity
? ? ? ? ? ? //關(guān)聯(lián)啟動管理界面8.0 7.0 無6.0 com.coloros.safecenter/.startupapp.AssociateStartActivity
? ? ? ? ? ? if (Build.VERSION.SDK_INT >= 23){
? ? ? ? ? ? ? comp = new ComponentName("com.coloros.safecenter",
? ? ? ? ? ? ? ? ? ? ? "com.coloros.safecenter.startupapp.StartupAppListActivity");
? ? ? ? ? ? } else {
? ? ? ? ? ? ? comp = new ComponentName("com.color.safecenter",
? ? ? ? ? ? ? ? ? ? ? "com.color.safecenter.permission.startup.StartupAppListActivity");
? ? ? ? ? ? }
? ? ? ? ? ? break;
? ? ? ? case SAMSUNG_PHONEMODEL:
? ? ? ? ? ? //8.0? 7.1.1? com.samsung.android.sm_cn/com.samsung.android.sm.ui.ram.AutoRunActivity
? ? ? ? ? ? comp = new ComponentName("com.samsung.android.sm_cn",
? ? ? ? ? ? ? ? ? ? "com.samsung.android.sm_cn.com.samsung.android.sm.ui.ram.AutoRunActivity");
? ? ? ? ? ? break;
? ? ? ? case DEFAULT_PHONEMODEL:
? ? ? ? ? ? comp = null;
? ? ? ? ? ? break;
? ? ? }
? ? ? try{
? ? ? ? if (comp == null){
? ? ? ? ? ? intent.setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
? ? ? ? ? ? Uri uri = Uri.fromParts("package", context.getPackageName(), null);
? ? ? ? ? ? intent.setData(uri);
? ? ? ? ? ? context.startActivity(intent);
? ? ? ? } else {
? ? ? ? ? ? intent.setComponent(comp);
? ? ? ? ? ? context.startActivity(intent);
? ? ? ? }
? ? ? }catch (Exception e){//拋出異常就直接打開設(shè)置頁面
? ? ? ? UIHelper.info("Exception? " + e);
? ? ? ??Intent intentSetting = new Intent();
? ? ? ??intentSetting.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
? ? ? ? intentSetting.setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
? ? ? ? Uri uri = Uri.fromParts("package", context.getPackageName(), null);
? ? ? ? intentSetting.setData(uri);
? ? ? ? context.startActivity(intentSetting);
? ? ? }
? }
}