/** * 当目标版本大于23时候,检查权限 */ fun checkPermission(): Boolean { if (Build.VERSION.SDK_INT >= 23) return Settings.canDrawOverlays(this) else return true }
/*** * 请求获取悬浮窗口权限 */ fun requestPermission() { var intent = Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION, Uri.parse("package:$packageName")) startActivityForResult(intent, request_code) }
var request_code = 100
/** * 回调申请结果 */ override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { when (requestCode) { request_code -> { if (checkPermission()) { //用户授权成功 } else { //用户拒绝授权 Toast.makeText(application, "弹窗权限被拒绝", Toast.LENGTH_SHORT).show() } } } super.onActivityResult(requestCode, resultCode, data) }