This commit is contained in:
Horis
2023-03-02 14:03:04 +08:00
parent f20de36561
commit bff2a7f544
2 changed files with 8 additions and 6 deletions
@@ -31,7 +31,7 @@ class PermissionActivity : AppCompatActivity() {
val permissions = intent.getStringArrayExtra(KEY_INPUT_PERMISSIONS)!!
when (intent.getIntExtra(KEY_INPUT_REQUEST_TYPE, Request.TYPE_REQUEST_PERMISSION)) {
//权限请求
Request.TYPE_REQUEST_PERMISSION -> showSettingDialog(permissions, rationale){
Request.TYPE_REQUEST_PERMISSION -> showSettingDialog(permissions, rationale) {
ActivityCompat.requestPermissions(this, permissions, requestCode)
}
//跳转到设置界面
@@ -119,7 +119,7 @@ class PermissionActivity : AppCompatActivity() {
) {
rationaleDialog?.dismiss()
if (rationale.isNullOrEmpty()) {
finish()
return
}
rationaleDialog = AlertDialog.Builder(this)
@@ -133,6 +133,9 @@ class PermissionActivity : AppCompatActivity() {
permissions,
IntArray(0)
)
finish()
}.setOnCancelListener {
finish()
}
.show()
}
@@ -73,6 +73,7 @@ internal class Request : OnRequestPermissionsResultCallback {
toNotificationSetting()
} else if (deniedPermissions.size > 1) {
appCtx.startActivity<PermissionActivity> {
putExtra(PermissionActivity.KEY_RATIONALE, rationale)
putExtra(PermissionActivity.KEY_INPUT_REQUEST_TYPE, TYPE_REQUEST_PERMISSION)
putExtra(PermissionActivity.KEY_INPUT_PERMISSIONS_CODE, requestCode)
putExtra(PermissionActivity.KEY_INPUT_PERMISSIONS, deniedPermissions)
@@ -139,10 +140,8 @@ internal class Request : OnRequestPermissionsResultCallback {
private fun toSetting() {
appCtx.startActivity<PermissionActivity> {
putExtra(
PermissionActivity.KEY_INPUT_REQUEST_TYPE,
TYPE_REQUEST_SETTING
)
putExtra(PermissionActivity.KEY_RATIONALE, rationale)
putExtra(PermissionActivity.KEY_INPUT_REQUEST_TYPE, TYPE_REQUEST_SETTING)
}
}