28 lines
800 B
Kotlin
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()
|
|
}
|
|
}
|