Lưu ý: Trong một số trường hợp, các quyền mà bạn yêu cầu qua <uses-permission>
có thể ảnh hưởng đến cách Google Play lọc ứng dụng của bạn. Nếu bạn yêu cầu quyền liên quan đến phần cứng, chẳng hạn như CAMERA
, thì Google Play sẽ giả định rằng ứng dụng của bạn có yêu cầu về tính năng phần cứng cơ bản và lọc ứng dụng đó khỏi các thiết bị không có tính năng tương ứng.
Để kiểm soát hoạt động lọc, hãy luôn khai báo rõ ràng các tính năng phần cứng trong các phần tử <uses-feature>
, thay vì chờ Google Play "khám phá" các yêu cầu trong các phần tử <uses-permission>
. Sau đó, nếu muốn tắt hoạt động lọc cho một tính năng cụ thể, bạn có thể thêm thuộc tính android:required="false"
vào nội dung khai báo <uses-feature>
.
Để biết danh sách các quyền ngụ ý tính năng phần cứng, hãy xem tài liệu về phần tử <uses-feature>
.
- cú pháp:
<uses-permission android:name="string" android:maxSdkVersion="integer" />
- có trong:
<manifest>
- mô tả:
- Chỉ định một quyền hệ thống mà người dùng phải cấp để ứng dụng hoạt động chính xác. Người dùng cấp quyền khi cài đặt ứng dụng trên các thiết bị chạy Android 5.1 trở xuống hoặc trong khi ứng dụng chạy trên các thiết bị chạy Android 6.0 trở lên.
Để biết thêm thông tin về các quyền, hãy xem mục về Quyền trong phần tổng quan về tệp kê khai ứng dụng và hướng dẫn về Quyền trên Android. Bạn có thể xem danh sách quyền do nền tảng cơ sở xác định tại
android.Manifest.permission
. - thuộc tính:
android:name
- Tên quyền. Đây có thể là quyền do ứng dụng xác định bằng phần tử
<permission>
, quyền do ứng dụng khác xác định hoặc một trong các quyền tiêu chuẩn của hệ thống, chẳng hạn như"android.permission.CAMERA"
hoặc"android.permission.READ_CONTACTS"
. Trong những ví dụ này, tên quyền thường bao gồm cả tên gói dưới dạng tiền tố. android:maxSdkVersion
- Cấp API cao nhất mà hệ thống sẽ cấp quyền này cho ứng dụng. Thao tác đặt thuộc tính này sẽ hữu ích nếu quyền mà ứng dụng yêu cầu không còn cần thiết kể từ khi bắt đầu ở một cấp API cụ thể.
Ví dụ: bắt đầu từ Android 4.4 (API cấp 19), ứng dụng của bạn không còn phải yêu cầu quyền
WRITE_EXTERNAL_STORAGE
nữa khi muốn ghi vào các thư mục dành riêng cho chính ứng dụng đó trên bộ nhớ ngoài, dogetExternalFilesDir()
cung cấp.Tuy nhiên, bạn bắt buộc phải yêu cầu quyền này đối với API cấp 18 trở xuống. Bạn có thể khai báo rằng ứng dụng chỉ cần quyền này đối với API cấp 18 trở xuống, chẳng hạn như bằng cách dùng nội dung khai báo sau:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:maxSdkVersion="18" />
Theo đó, kể từ API cấp 19, hệ thống sẽ không cấp quyền
WRITE_EXTERNAL_STORAGE
cho ứng dụng nữa.Đã thêm vào API cấp 19.
- ra mắt từ:
- API cấp 1
- xem thêm: