Android Developer Documentation cho ví dụ này của yêu cầu quyền trong thời gian chạy:runtime Android permissions- làm thế nào để thực hiện
// Here, thisActivity is the current activity
if (ContextCompat.checkSelfPermission(thisActivity,
Manifest.permission.READ_CONTACTS)
!= PackageManager.PERMISSION_GRANTED) {
// Should we show an explanation?
if (ActivityCompat.shouldShowRequestPermissionRationale(thisActivity,
Manifest.permission.READ_CONTACTS)) {
// Show an expanation to the user *asynchronously* -- don't block
// this thread waiting for the user's response! After the user
// sees the explanation, try again to request the permission.
} else {
// No explanation needed, we can request the permission.
ActivityCompat.requestPermissions(thisActivity,
new String[]{Manifest.permission.READ_CONTACTS},
MY_PERMISSIONS_REQUEST_READ_CONTACTS);
// MY_PERMISSIONS_REQUEST_READ_CONTACTS is an
// app-defined int constant. The callback method gets the
// result of the request.
}
}
"MY_PERMISSIONS_REQUEST_READ_CONTACTS" trong ví dụ này là gì? Nó nói đó là một hằng số int được định nghĩa bởi ứng dụng, nhưng điều đó có nghĩa là tôi nên tạo một Constants.java và khai báo một static static int? nên giá trị là gì?
Trong các ví dụ khác, tôi thấy mọi người sử dụng 1 ở đây hoặc 0 hoặc 0xFFEEDDCC, nhưng tôi không thể tìm thấy giải thích về nó là gì. Ai đó có thể giải thích cho tôi những gì cần phải đi ở đây và tại sao? (Trong trường hợp của tôi, tôi cần đảm bảo ứng dụng có quyền truy cập vị trí tốt)
Tài liệu ActivityCompat cho biết "Mã yêu cầu cụ thể của ứng dụng khớp với kết quả được báo cáo cho onRequestPermissionsResult"? Điều này không giúp tôi.
có thể trùng lặp của [Android quyền - Manifest hoặc android.manifest] (http://stackoverflow.com/questions/34901870/android-permissions-manifest-or-android-manifest) – JpCrow
Bạn có thể kiểm tra một lớp mà tôi đã tạo và sử dụng nó trong Fragments github.com/mptrista/PermissionHelper Nó dành cho các phân đoạn và trong trường hợp yêu cầu một quyền duy nhất. – toshkinl