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 – 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. Quyền được người dùng cấp khi ứng dụng được cài đặt (trên thiết bị chạy Android 5.1 trở xuống) hoặc khi ứng dụng đang chạy (trên 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 giới thiệu cũng như hướng dẫn riêng về System Permission API. 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 (các thư mục do getExternalFilesDir() 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ười dùng chỉ cần yêu cầu 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.

Thuộc tính này đã được thêm vào từ API cấp 19.

ra mắt từ:
API cấp 1
xem thêm: