feat: 安装权限不足时自动跳转系统设置页面

This commit is contained in:
LukeMackin
2026-07-19 20:55:55 +08:00
parent 82a0650b59
commit e02997db52
8 changed files with 8 additions and 1 deletions

View File

@@ -4,7 +4,9 @@ import android.app.PendingIntent
import android.content.Intent import android.content.Intent
import android.content.pm.PackageInstaller import android.content.pm.PackageInstaller
import android.graphics.Color import android.graphics.Color
import android.net.Uri
import android.os.Bundle import android.os.Bundle
import android.provider.Settings
import android.widget.Button import android.widget.Button
import android.widget.LinearLayout import android.widget.LinearLayout
import android.widget.ScrollView import android.widget.ScrollView
@@ -209,7 +211,12 @@ class MainActivity : AppCompatActivity() {
private fun installApk(apkFile: File) { private fun installApk(apkFile: File) {
if (!packageManager.canRequestPackageInstalls()) { if (!packageManager.canRequestPackageInstalls()) {
throw SecurityException("需要允许安装未知应用权限") val intent = Intent(Settings.ACTION_MANAGE_UNKNOWN_APP_SOURCES).apply {
data = Uri.parse("package:$packageName")
addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
}
startActivity(intent)
throw SecurityException("请开启安装未知应用权限后重试")
} }
val packageInstaller = packageManager.packageInstaller val packageInstaller = packageManager.packageInstaller
val params = PackageInstaller.SessionParams(PackageInstaller.SessionParams.MODE_FULL_INSTALL) val params = PackageInstaller.SessionParams(PackageInstaller.SessionParams.MODE_FULL_INSTALL)