Android屏幕点击事件无效
开发应用的过程中导致了所有屏幕的点击事件均无效
先看代码:
companion Permission {
val permissions =
arrayOf(Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.WRITE_EXTERNAL_STORAGE,
Manifest.permission.INTERNET,
Manifest.permission.CAMERA,
Manifest.permission.READ_PHONE_STATE,
Manifest.permission.ACCESS_NETWORK_STATE,
Manifest.permission.ACCESS_WIFI_STATE,
Manifest.permission.READ_LOGS
)
}
abstract class BaseActivity : AppCompatActivity(), View.OnClickListener {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
//申请权限
requestAppPermissions()
}
//检查权限
fun checkAppPermissions(): Boolean {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) return true else {
Permission.permissions.forEach {
if (PackageManager.PERMISSION_GRANTED != ContextCompat.checkSelfPermission(this, it)) {
return false
}
}
return true
}
}
//申请权限
fun requestAppPermissions() {
//如果大于6.0 并且已经授权 -> onPermissionGranted
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && !checkAppPermissions()) {
ActivityCompat.requestPermissions(this, Permission.permissions, 100)
} else {
onPermissionGranted()
}
}
open fun onPermissionGranted() {}
//申请结果
override fun onRequestPermissionsResult(requestCode: Int, permissions: Array<out String>, grantResults: IntArray) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults)
//继续判断 [问题就出在这]
requestAppPermissions()
}
}
从上来看并没有问题,但是在onRequestPermissionsResult()用了个死循环去判断权限是否PERMISSION_GRANTED,从而导致出的问题