优化
This commit is contained in:
@@ -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)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user