Hiện nay tôi có các phương pháp sau đây để kiểm tra cho phép thời gian chạy trong AppCompatActivity
cho Marshmallow:Trường hợp sử dụng cho ContextCompat.checkSelfPermission là gì?
if(Build.VERSION.SDK_INT > Build.VERSION_CODES.LOLLIPOP_MR1) {
boolean hasPermission = checkSelfPermission(Manifest.permission.XX)
== PackageManager.PERMISSION_GRANTED;
if(!hasPermission) {
if(shouldShowRequestPermissionRationale(Manifest.permission.XX)) {
// explain reason for permission, try again
} else {
// user deny with "don't show again"
}
}
}
Cho đến nay tôi thấy nó hoạt động khá tốt cho Marshmallow. Tuy nhiên, tôi có nên lo lắng về sự cho phép trong các phiên bản trước M mà tôi nên sử dụng ContextCompat.checkSelfPermission() thay thế không? Tôi biết quyền trong M trước có thể được sửa đổi bằng cách sử dụng Xposed hoặc khuôn khổ tương tự, điều đó có nghĩa là ContextCompat.checkSelfPermission()
có thể phát hiện đủ sự từ chối quyền do Xposed vv không?
thông tin hữu ích bổ sung [tại đây] (https://inthecheesefactory.com/blog/things-you-need-to-know-about-android-m-permission-developer-edition/en) –