├── JumpPermissionManagement.java └── README.md /JumpPermissionManagement.java: -------------------------------------------------------------------------------- 1 | package zj.remote.baselibrary.util; 2 | 3 | import android.app.Activity; 4 | import android.content.ComponentName; 5 | import android.content.Intent; 6 | import android.net.Uri; 7 | import android.os.Build; 8 | import android.provider.Settings; 9 | import android.support.v7.appcompat.BuildConfig; 10 | import android.util.Log; 11 | 12 | /** 13 | * Created by hkq325800 on 2017/4/14. 14 | */ 15 | 16 | public class JumpPermissionManagement { 17 | /** 18 | * Build.MANUFACTURER 19 | */ 20 | private static final String MANUFACTURER_HUAWEI = "Huawei";//华为 21 | private static final String MANUFACTURER_MEIZU = "Meizu";//魅族 22 | private static final String MANUFACTURER_XIAOMI = "Xiaomi";//小米 23 | private static final String MANUFACTURER_SONY = "Sony";//索尼 24 | private static final String MANUFACTURER_OPPO = "OPPO"; 25 | private static final String MANUFACTURER_LG = "LG"; 26 | private static final String MANUFACTURER_VIVO = "vivo"; 27 | private static final String MANUFACTURER_SAMSUNG = "samsung";//三星 28 | private static final String MANUFACTURER_LETV = "Letv";//乐视 29 | private static final String MANUFACTURER_ZTE = "ZTE";//中兴 30 | private static final String MANUFACTURER_YULONG = "YuLong";//酷派 31 | private static final String MANUFACTURER_LENOVO = "LENOVO";//联想 32 | private static final String MANUFACTURER_SMARTISAN = "Smartisan";//锤子 33 | 34 | /** 35 | * 此函数可以自己定义 36 | * @param activity 37 | */ 38 | public static void GoToSetting(Activity activity){ 39 | switch (Build.MANUFACTURER){ 40 | case MANUFACTURER_HUAWEI: 41 | Huawei(activity); 42 | break; 43 | case MANUFACTURER_MEIZU: 44 | Meizu(activity); 45 | break; 46 | case MANUFACTURER_XIAOMI: 47 | Xiaomi(activity); 48 | break; 49 | case MANUFACTURER_SONY: 50 | Sony(activity); 51 | break; 52 | case MANUFACTURER_OPPO: 53 | OPPO(activity); 54 | break; 55 | case MANUFACTURER_LG: 56 | LG(activity); 57 | break; 58 | case MANUFACTURER_LETV: 59 | Letv(activity); 60 | break; 61 | case MANUFACTURER_SMARTISAN: 62 | Smartisan(activity); 63 | break; 64 | default: 65 | ApplicationInfo(activity); 66 | Log.e("goToSetting", "目前暂不支持此系统"); 67 | break; 68 | } 69 | } 70 | 71 | public static void Smartisan(Context activity) { 72 | Intent intent = new Intent(); 73 | intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 74 | intent.putExtra("packageName", BuildConfig.APPLICATION_ID); 75 | ComponentName comp = new ComponentName("com.smartisanos.security", "com.smartisanos.security.MainActivity"); 76 | intent.setComponent(comp); 77 | activity.startActivity(intent); 78 | } 79 | 80 | public static void Huawei(Activity activity) { 81 | Intent intent = new Intent(); 82 | intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 83 | intent.putExtra("packageName", BuildConfig.APPLICATION_ID); 84 | ComponentName comp = new ComponentName("com.huawei.systemmanager", "com.huawei.permissionmanager.ui.MainActivity"); 85 | intent.setComponent(comp); 86 | activity.startActivity(intent); 87 | } 88 | 89 | public static void Meizu(Activity activity) { 90 | Intent intent = new Intent("com.meizu.safe.security.SHOW_APPSEC"); 91 | intent.addCategory(Intent.CATEGORY_DEFAULT); 92 | intent.putExtra("packageName", BuildConfig.APPLICATION_ID); 93 | activity.startActivity(intent); 94 | } 95 | 96 | // public static void Xiaomi(Context activity) { 97 | // Intent intent = new Intent("miui.intent.action.APP_PERM_EDITOR"); 98 | // ComponentName componentName = new ComponentName("com.miui.securitycenter", "com.miui.permcenter.permissions.PermissionsEditorActivity"); 99 | // intent.setComponent(componentName); 100 | // intent.putExtra("extra_pkgname", activity.getPackageName()); 101 | // activity.startActivity(intent); 102 | // } 103 | 104 | public static void Xiaomi(Activity activity) { 105 | Intent intent = new Intent("miui.intent.action.APP_PERM_EDITOR"); 106 | ComponentName componentName = new ComponentName("com.miui.securitycenter", "com.miui.permcenter.permissions.AppPermissionsEditorActivity"); 107 | intent.setComponent(componentName); 108 | intent.putExtra("extra_pkgname", BuildConfig.APPLICATION_ID); 109 | activity.startActivity(intent); 110 | } 111 | 112 | public static void Sony(Activity activity) { 113 | Intent intent = new Intent(); 114 | intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 115 | intent.putExtra("packageName", BuildConfig.APPLICATION_ID); 116 | ComponentName comp = new ComponentName("com.sonymobile.cta", "com.sonymobile.cta.SomcCTAMainActivity"); 117 | intent.setComponent(comp); 118 | activity.startActivity(intent); 119 | } 120 | 121 | public static void OPPO(Activity activity) { 122 | Intent intent = new Intent(); 123 | intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 124 | intent.putExtra("packageName", BuildConfig.APPLICATION_ID); 125 | ComponentName comp = new ComponentName("com.color.safecenter", "com.color.safecenter.permission.PermissionManagerActivity"); 126 | intent.setComponent(comp); 127 | activity.startActivity(intent); 128 | } 129 | 130 | public static void LG(Activity activity) { 131 | Intent intent = new Intent("android.intent.action.MAIN"); 132 | intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 133 | intent.putExtra("packageName", BuildConfig.APPLICATION_ID); 134 | ComponentName comp = new ComponentName("com.android.settings", "com.android.settings.Settings$AccessLockSummaryActivity"); 135 | intent.setComponent(comp); 136 | activity.startActivity(intent); 137 | } 138 | 139 | public static void Letv(Activity activity) { 140 | Intent intent = new Intent(); 141 | intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 142 | intent.putExtra("packageName", BuildConfig.APPLICATION_ID); 143 | ComponentName comp = new ComponentName("com.letv.android.letvsafe", "com.letv.android.letvsafe.PermissionAndApps"); 144 | intent.setComponent(comp); 145 | activity.startActivity(intent); 146 | } 147 | 148 | /** 149 | * 只能打开到自带安全软件 150 | * @param activity 151 | */ 152 | public static void _360(Activity activity) { 153 | Intent intent = new Intent("android.intent.action.MAIN"); 154 | intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 155 | intent.putExtra("packageName", BuildConfig.APPLICATION_ID); 156 | ComponentName comp = new ComponentName("com.qihoo360.mobilesafe", "com.qihoo360.mobilesafe.ui.index.AppEnterActivity"); 157 | intent.setComponent(comp); 158 | activity.startActivity(intent); 159 | } 160 | 161 | /** 162 | * 应用信息界面 163 | * @param activity 164 | */ 165 | public static void ApplicationInfo(Activity activity){ 166 | Intent localIntent = new Intent(); 167 | localIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 168 | if (Build.VERSION.SDK_INT >= 9) { 169 | localIntent.setAction("android.settings.APPLICATION_DETAILS_SETTINGS"); 170 | localIntent.setData(Uri.fromParts("package", activity.getPackageName(), null)); 171 | } else if (Build.VERSION.SDK_INT <= 8) { 172 | localIntent.setAction(Intent.ACTION_VIEW); 173 | localIntent.setClassName("com.android.settings", "com.android.settings.InstalledAppDetails"); 174 | localIntent.putExtra("com.android.settings.ApplicationPkgName", activity.getPackageName()); 175 | } 176 | activity.startActivity(localIntent); 177 | } 178 | 179 | /** 180 | * 系统设置界面 181 | * @param activity 182 | */ 183 | public static void SystemConfig(Activity activity) { 184 | Intent intent = new Intent(Settings.ACTION_SETTINGS); 185 | activity.startActivity(intent); 186 | } 187 | } 188 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # JumpPermissionManagement 2 | ### 【不再更新】如需使用请自行fork 3 | 4 | idea from [here](http://www.jianshu.com/p/b5c494dba0bc) 5 | --- 6 | Android各大手机品牌手机跳转到权限管理界面 7 | 8 | 目前建议使用[AndPermission](https://github.com/yanzhenjie/AndPermission) 9 | 或[XXPermissions](https://github.com/getActivity/XXPermissions) 10 | --------------------------------------------------------------------------------