Files
openless/openless-all/app/android/kotlin/OverlayPermissionActivity.kt
T

28 lines
800 B
Kotlin

package com.openless.app
import android.app.Activity
import android.content.Intent
import android.net.Uri
import android.os.Build
import android.os.Bundle
import android.provider.Settings
/**
* 引导用户授权 SYSTEM_ALERT_WINDOW。
* Rust 命令 request_android_overlay_permission 通过 Intent 启动本 Activity。
*/
class OverlayPermissionActivity : Activity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && !Settings.canDrawOverlays(this)) {
val intent = Intent(
Settings.ACTION_MANAGE_OVERLAY_PERMISSION,
Uri.parse("package:$packageName"),
)
startActivity(intent)
}
finish()
}
}