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)!! val permissions = intent.getStringArrayExtra(KEY_INPUT_PERMISSIONS)!!
when (intent.getIntExtra(KEY_INPUT_REQUEST_TYPE, Request.TYPE_REQUEST_PERMISSION)) { 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) ActivityCompat.requestPermissions(this, permissions, requestCode)
} }
//跳转到设置界面 //跳转到设置界面
@@ -119,7 +119,7 @@ class PermissionActivity : AppCompatActivity() {
) { ) {
rationaleDialog?.dismiss() rationaleDialog?.dismiss()
if (rationale.isNullOrEmpty()) { if (rationale.isNullOrEmpty()) {
finish()
return return
} }
rationaleDialog = AlertDialog.Builder(this) rationaleDialog = AlertDialog.Builder(this)
@@ -133,6 +133,9 @@ class PermissionActivity : AppCompatActivity() {
permissions, permissions,
IntArray(0) IntArray(0)
) )
finish()
}.setOnCancelListener {
finish()
} }
.show() .show()
} }
@@ -73,6 +73,7 @@ internal class Request : OnRequestPermissionsResultCallback {
toNotificationSetting() toNotificationSetting()
} else if (deniedPermissions.size > 1) { } else if (deniedPermissions.size > 1) {
appCtx.startActivity<PermissionActivity> { appCtx.startActivity<PermissionActivity> {
putExtra(PermissionActivity.KEY_RATIONALE, rationale)
putExtra(PermissionActivity.KEY_INPUT_REQUEST_TYPE, TYPE_REQUEST_PERMISSION) putExtra(PermissionActivity.KEY_INPUT_REQUEST_TYPE, TYPE_REQUEST_PERMISSION)
putExtra(PermissionActivity.KEY_INPUT_PERMISSIONS_CODE, requestCode) putExtra(PermissionActivity.KEY_INPUT_PERMISSIONS_CODE, requestCode)
putExtra(PermissionActivity.KEY_INPUT_PERMISSIONS, deniedPermissions) putExtra(PermissionActivity.KEY_INPUT_PERMISSIONS, deniedPermissions)
@@ -139,10 +140,8 @@ internal class Request : OnRequestPermissionsResultCallback {
private fun toSetting() { private fun toSetting() {
appCtx.startActivity<PermissionActivity> { appCtx.startActivity<PermissionActivity> {
putExtra( putExtra(PermissionActivity.KEY_RATIONALE, rationale)
PermissionActivity.KEY_INPUT_REQUEST_TYPE, putExtra(PermissionActivity.KEY_INPUT_REQUEST_TYPE, TYPE_REQUEST_SETTING)
TYPE_REQUEST_SETTING
)
} }
} }