- ไวยากรณ์:
<permission android:description="string resource" android:icon="drawable resource" android:label="string resource" android:name="string" android:permissionGroup="string" android:protectionLevel=["normal" | "dangerous" | "signature" | ...] />
- ที่อยู่ใน:
<manifest>- description:
- ประกาศสิทธิ์ความปลอดภัยที่ใช้เพื่อ จำกัดการเข้าถึงคอมโพเนนต์หรือฟีเจอร์เฉพาะของแอปพลิเคชันนี้หรือแอปพลิเคชันอื่น สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการทำงานของสิทธิ์ ให้ดูที่ส่วนสิทธิ์ในภาพรวมไฟล์ Manifest ของแอปและเคล็ดลับความปลอดภัย
- ดังนี้
android:description- คำอธิบายสิทธิ์ที่ผู้ใช้อ่านได้ ซึ่งมีความยาวและมากกว่า
ที่มีประโยชน์มากกว่าป้ายกำกับ เช่น ข้อมูลนี้อาจแสดงเพื่ออธิบาย
สิทธิ์ของผู้ใช้เมื่อมีการสอบถามผู้ใช้
เพื่อให้สิทธิ์แก่แอปพลิเคชันอื่น
แอตทริบิวต์นี้ตั้งเป็นการอ้างอิงทรัพยากรสตริง แอตทริบิวต์นี้แตกต่างจากแอตทริบิวต์
labelตรงที่จะเป็นสตริงดิบไม่ได้ android:icon- การอ้างอิงทรัพยากรที่ถอนออกได้สำหรับไอคอนที่แสดงถึง สิทธิ์
android:label- ชื่อสิทธิ์ที่ผู้ใช้อ่านได้
คุณสามารถกำหนดป้ายกำกับโดยตรงเพื่อความสะดวก เป็นสตริงดิบในขณะที่คุณกำลังพัฒนาแอปพลิเคชัน อย่างไรก็ตาม เมื่อแอปพลิเคชันพร้อมที่จะเผยแพร่ ให้กำหนด การอ้างอิงไปยังทรัพยากรสตริง เพื่อให้ระบบแปลได้อย่างอิสระ สตริงในอินเทอร์เฟซผู้ใช้
android:name- ชื่อที่จะใช้
เพื่ออ้างถึงสิทธิ์ เช่น
<uses-permission>หรือ แอตทริบิวต์permissionของคอมโพเนนต์แอปพลิเคชันหมายเหตุ: ระบบไม่อนุญาตให้ประกาศแพ็กเกจหลายรายการ สิทธิ์ที่มีชื่อเดียวกัน เว้นแต่ว่าแพ็กเกจทั้งหมดจะมีการลงชื่อด้วย ใบรับรองเดียวกัน หากแพ็กเกจประกาศสิทธิ์ ระบบจะไม่อนุญาต ให้ผู้ใช้ติดตั้งแพ็กเกจอื่นๆ ที่มีชื่อสิทธิ์เหมือนกัน ยกเว้นในกรณีที่ แพ็กเกจเหล่านั้นลงชื่อด้วยใบรับรองเดียวกันกับแพ็กเกจแรก
ด้วยเหตุนี้ Google ขอแนะนำให้ใช้คำนำหน้าชื่อแพ็กเกจของแอป โดยใช้การตั้งชื่อแบบย้อนกลับ ติดตามคำนำหน้านี้ด้วย
.permission.ตามด้วยคำอธิบายของ ความสามารถที่สิทธิ์แสดงในรูปแบบ SNAKE_CASE ด้านบน ดังตัวอย่างต่อไปนี้com.example.myapp.permission.ENGAGE_HYPERSPACEการทำตามคำแนะนำนี้จะหลีกเลี่ยงการตั้งชื่อชนกันและช่วยระบุเจ้าของอย่างชัดเจน และเจตนาของสิทธิ์ที่กำหนดเอง
android:permissionGroup- มอบสิทธิ์นี้ให้กับกลุ่ม ค่าของแอตทริบิวต์นี้คือ
ชื่อกลุ่ม ซึ่งประกาศด้วย
<permission-group>องค์ประกอบใน หรือแอปพลิเคชันอื่น หากไม่ได้ตั้งค่าแอตทริบิวต์นี้ไว้สิทธิ์ ไม่ได้อยู่ในกลุ่ม android:protectionLevel-
อธิบายลักษณะของความเสี่ยงที่อาจเกิดขึ้นในการอนุญาตและ ระบุกระบวนการให้ระบบปฏิบัติตามเมื่อพิจารณา จะให้สิทธิ์แอปพลิเคชันที่ขอการอนุญาตหรือไม่
ระดับการป้องกันแต่ละระดับประกอบด้วยประเภทสิทธิ์พื้นฐาน 1 รายการหรือมากกว่านั้น ตัวอย่างเช่น ระดับการป้องกัน
"dangerous"จะไม่มี ในทางกลับกัน ระดับการป้องกัน"signature|privileged"เป็นชุดค่าผสมของประเภทสิทธิ์พื้นฐาน"signature"และ แฟล็ก"privileged"ตารางต่อไปนี้แสดงประเภทสิทธิ์พื้นฐานทั้งหมด สำหรับรายการแฟล็ก โปรดดูที่
protectionLevelค่า ความหมาย "normal"ค่าเริ่มต้น สิทธิ์ที่มีความเสี่ยงต่ำกว่าซึ่งทำให้มีคำขอ เข้าถึงคุณลักษณะระดับแอปพลิเคชันแบบแยกด้วย ความเสี่ยงต่ำต่อแอปพลิเคชัน ระบบ หรือผู้ใช้ ระบบจะให้สิทธิ์ประเภทนี้โดยอัตโนมัติ อนุญาตสำหรับแอปพลิเคชันที่ขอเมื่อติดตั้ง โดย ที่ได้รับการอนุมัติที่ชัดเจนจากผู้ใช้ แต่ถึงกระนั้น มีตัวเลือกในการตรวจสอบสิทธิ์เหล่านี้ก่อนการติดตั้ง "dangerous"สิทธิ์ที่มีความเสี่ยงสูงซึ่งทำให้แอปพลิเคชันที่ขอ เข้าถึงข้อมูลผู้ใช้ส่วนตัวหรือควบคุมอุปกรณ์ที่สามารถ ส่งผลเสียต่อผู้ใช้ เนื่องจากสิทธิ์ประเภทนี้ อาจก่อให้เกิดความเสี่ยงได้ เนื่องจากระบบอาจไม่ได้ติดตาม ให้แอปพลิเคชันที่ขอ เช่น เนื้อหาที่เป็นอันตราย การอนุญาตที่ขอโดยแอปพลิเคชันอาจแสดงต่อ ผู้ใช้ และต้องมีการยืนยันก่อนที่จะดำเนินการต่อ หรือ เพื่อหลีกเลี่ยงการอนุญาตให้ผู้ใช้ การใช้งานสิ่งอำนวยความสะดวกดังกล่าว "signature"สิทธิ์ที่ระบบกำหนดให้ก็ต่อเมื่อมีการส่งคำขอ ใบสมัครถูกลงชื่อด้วยใบรับรองเดียวกันกับใบสมัคร ที่ประกาศสิทธิ์นั้น ถ้าใบรับรองตรงกัน ระบบจะ ให้สิทธิ์โดยอัตโนมัติโดยไม่ต้องแจ้งให้ผู้ใช้ทราบ หรือ ที่รอการอนุมัติที่ชัดเจนจากผู้ใช้ "knownSigner"สิทธิ์ที่ระบบกำหนดให้ก็ต่อเมื่อมีการส่งคำขอ แอปพลิเคชันมีการรับรองด้วย อนุญาต ใบรับรอง หากมีใบรับรองของผู้ขออยู่ในรายการ ระบบจะ ให้สิทธิ์โดยอัตโนมัติโดยไม่ต้องแจ้งให้ผู้ใช้ทราบ หรือ ที่รอการอนุมัติที่ชัดเจนจากผู้ใช้ "signatureOrSystem"คำพ้องความหมายเดิมสำหรับ
"signature|privileged"เลิกใช้งานใน API ระดับ 23สิทธิ์ที่ระบบกำหนดให้กับแอปพลิเคชันที่ ในโฟลเดอร์เฉพาะบนอิมเมจระบบ Android หรือที่ ลงชื่อด้วยใบรับรองเดียวกันกับแอปพลิเคชันที่ประกาศ สิทธิ์ หลีกเลี่ยงการใช้ตัวเลือกนี้ เนื่องจาก
"signature"ระดับการป้องกันนั้นเพียงพอต่อความต้องการส่วนใหญ่และใช้งานได้ไม่ว่าจะ ของตำแหน่งที่ติดตั้งแอปสิทธิ์
"signatureOrSystem"ใช้สำหรับข้อเสนอพิเศษบางอย่าง ในสถานการณ์ที่มีผู้ให้บริการหลายรายมีแอปพลิเคชันติดตั้งไว้ในระบบ และจำเป็นต้องแบ่งปันคุณลักษณะเฉพาะหนึ่งๆ อย่างชัดเจน สร้างสรรค์มาด้วยกัน
- เปิดตัวใน
- API ระดับ 1
- ดูเพิ่มเติม
<uses-permission><permission-tree><permission-group>
<permission>
ตัวอย่างเนื้อหาและโค้ดในหน้าเว็บนี้ขึ้นอยู่กับใบอนุญาตที่อธิบายไว้ในใบอนุญาตการใช้เนื้อหา Java และ OpenJDK เป็นเครื่องหมายการค้าหรือเครื่องหมายการค้าจดทะเบียนของ Oracle และ/หรือบริษัทในเครือ
อัปเดตล่าสุด 2025-07-27 UTC
[[["เข้าใจง่าย","easyToUnderstand","thumb-up"],["แก้ปัญหาของฉันได้","solvedMyProblem","thumb-up"],["อื่นๆ","otherUp","thumb-up"]],[["ไม่มีข้อมูลที่ฉันต้องการ","missingTheInformationINeed","thumb-down"],["ซับซ้อนเกินไป/มีหลายขั้นตอนมากเกินไป","tooComplicatedTooManySteps","thumb-down"],["ล้าสมัย","outOfDate","thumb-down"],["ปัญหาเกี่ยวกับการแปล","translationIssue","thumb-down"],["ตัวอย่าง/ปัญหาเกี่ยวกับโค้ด","samplesCodeIssue","thumb-down"],["อื่นๆ","otherDown","thumb-down"]],["อัปเดตล่าสุด 2025-07-27 UTC"],[],[]]