feat: 安装权限不足时自动跳转系统设置页面
This commit is contained in:
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -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)
|
||||||
|
|||||||
Reference in New Issue
Block a user