หมายเหตุ: ในบางกรณี สิทธิ์ที่คุณร้องขอ
ถึง <uses-permission>
อาจส่งผลกระทบต่อวิธีที่ Google Play กรอง
แอปพลิเคชัน หากคุณขอสิทธิ์เกี่ยวกับฮาร์ดแวร์ เช่น
CAMERA
, Google Play ถือว่า
แอปพลิเคชันต้องใช้ฟีเจอร์ของฮาร์ดแวร์ที่เกี่ยวข้องและกรองแอปพลิเคชัน
จากอุปกรณ์ที่ไม่ได้นำเสนอบริการดังกล่าว
ในการควบคุมการกรอง ให้ประกาศอย่างชัดแจ้งเสมอ
ฟีเจอร์ของฮาร์ดแวร์ในเอลิเมนต์ <uses-feature>
ไม่ใช่
อาศัย Google Play เพื่อ "ค้นพบ" ข้อกำหนดใน
<uses-permission>
องค์ประกอบ จากนั้นหากคุณต้องการปิดใช้
กรองหาสถานที่หนึ่งๆ คุณสามารถเพิ่ม
android:required="false"
ให้กับ
การประกาศ<uses-feature>
สำหรับรายการสิทธิ์ที่บอกเป็นนัย
คุณลักษณะของฮาร์ดแวร์ โปรดดูเอกสารประกอบของ
<uses-feature>
- ไวยากรณ์:
<uses-permission android:name="string" android:maxSdkVersion="integer" />
- ที่อยู่ใน:
<manifest>
- description:
- ระบุสิทธิ์ของระบบที่ผู้ใช้ต้องอนุญาต
เพื่อให้ทำงานได้อย่างถูกต้อง ผู้ใช้จะให้สิทธิ์เมื่อ
การติดตั้งแอปพลิเคชัน ในอุปกรณ์ที่ใช้ Android 5.1 และต่ำกว่า หรือขณะที่แอปทำงานอยู่ ในอุปกรณ์ที่ใช้ Android 6.0 ขึ้นไป
ดูข้อมูลเพิ่มเติมเกี่ยวกับสิทธิ์ได้ที่ สิทธิ์ ในภาพรวมไฟล์ Manifest ของแอปและ คู่มือสิทธิ์ใน Android รายการสิทธิ์ที่กำหนดโดยแพลตฟอร์มพื้นฐานจะอยู่ที่
android.Manifest.permission
- ดังนี้
android:name
- ชื่อสิทธิ์ ซึ่งอาจเป็นสิทธิ์ที่กำหนดโดย
แอปพลิเคชันที่มี
<permission>
สิทธิ์ที่กำหนดโดยแอปพลิเคชันอื่น หรือหนึ่งใน สิทธิ์มาตรฐานของระบบ เช่น วันที่"android.permission.CAMERA"
หรือ"android.permission.READ_CONTACTS"
ดังตัวอย่างต่อไปนี้ โดยทั่วไปชื่อสิทธิ์จะมีชื่อแพ็กเกจเป็นคำนำหน้า android:maxSdkVersion
- ระดับ API สูงสุดที่ให้สิทธิ์นี้แก่แอปของคุณ
การตั้งค่าแอตทริบิวต์นี้จะมีประโยชน์ในกรณีที่แอปไม่จำเป็นต้องเริ่มต้นสิทธิ์อีกต่อไป
ที่ระดับ API หนึ่งๆ
ตัวอย่างเช่น การเริ่มต้นด้วย Android 4.4 (API ระดับ 19) จะไม่จำเป็นสำหรับแอปของคุณอีกต่อไป เพื่อขอ
WRITE_EXTERNAL_STORAGE
สามารถเขียนไปยังไดเรกทอรีเฉพาะแอปพลิเคชันบนที่จัดเก็บข้อมูลภายนอก ซึ่ง โดยgetExternalFilesDir()
อย่างไรก็ตาม สิทธิ์ที่จำเป็นสำหรับ API ระดับ 18 หรือต่ำกว่า เพื่อให้คุณสามารถประกาศว่า จำเป็นต้องมีสิทธิ์ API ถึงระดับ 18 เท่านั้น โดยมีการประกาศดังตัวอย่างต่อไปนี้
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:maxSdkVersion="18" />
ด้วยวิธีนี้ ตั้งแต่ API ระดับ 19 เป็นต้นไป ระบบจะไม่ให้สิทธิ์แอปของคุณอีกต่อไป สิทธิ์
WRITE_EXTERNAL_STORAGE
เพิ่มใน API ระดับ 19 แล้ว
- เปิดตัวใน
- API ระดับ 1
- ดูเพิ่มเติม