代码仅用于自己记忆,都是实际跑过的 /*** 引导开通-无障碍服务 可以跳转到系统的无障碍功能,并高亮自己的app*/fun gotoAccessibilitySetting(context: Context) {val EXTRA_FRAGMENT_ARG_KEY = ":settings:fragment_args_key";val EXTRA_SHOW_FRAGMENT_ARGUMENTS = ":settings:show_fragment_args";try {context.startActivity(Intent(Settings.ACTION_ACCESSIBILITY_SETTINGS).apply {val bundle = Bundle()val componentName = ComponentName(context.packageName, AssistantService::class.java.name).flattenToString()bundle.putString(EXTRA_FRAGMENT_ARG_KEY, componentName)putExtra(EXTRA_FRAGMENT_ARG_KEY, componentName)putExtra(EXTRA_SHOW_FRAGMENT_ARGUMENTS, bundle)})} catch (e: Exception) {e.printStackTrace()} }
/*** 引导开通-电池管理优化* 申请加入白名单 两种方法,可以看自己使用哪种* */fun openBatteryOptimizationSettings(context: Context) {try {if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { // val intent = Intent() // intent.action = Settings.ACTION_IGNORE_BATTERY_OPTIMIZATION_SETTINGS // context. startActivity(intent)//方法2、触发系统对话框val intent = Intent(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS);intent.setData(Uri.parse("package:"+context.packageName));context.startActivity(intent);}}catch (e:Exception){LogUtils.e("openBatteryOptimizationSettings_e=${e.localizedMessage}")}}
/** 自启动有点麻烦,没心情做机型适配的可以直接跳转系统界面* 跳转:「应用详情」界面*/ @JvmStatic fun gotoAppDetailSetting(mContext: Activity) {try {val packageName = mContext.packageNamemContext.startActivity(getAppDetailSettingIntent(packageName))} catch (e: Exception) {e.printStackTrace()} }
/*** 获取应用详情页面intent** @return*/ fun getAppDetailSettingIntent(packageName: String?): Intent {val localIntent = Intent()localIntent.flags = Intent.FLAG_ACTIVITY_NEW_TASKif (Build.VERSION.SDK_INT >= 9) {localIntent.action = "android.settings.APPLICATION_DETAILS_SETTINGS"localIntent.data = Uri.fromParts("package", packageName, null)} else if (Build.VERSION.SDK_INT <= 8) {localIntent.action = Intent.ACTION_VIEWlocalIntent.setClassName("com.android.settings", "com.android.settings.InstalledAppDetails")localIntent.putExtra("com.android.settings.ApplicationPkgName", packageName)}return localIntent }