<uses-permission>
จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน
บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ
หมายเหตุ: ในบางกรณี สิทธิ์ที่คุณร้องขอ
ถึง <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
- ดูเพิ่มเติม
-
ตัวอย่างเนื้อหาและโค้ดในหน้าเว็บนี้ขึ้นอยู่กับใบอนุญาตที่อธิบายไว้ในใบอนุญาตการใช้เนื้อหา Java และ OpenJDK เป็นเครื่องหมายการค้าหรือเครื่องหมายการค้าจดทะเบียนของ Oracle และ/หรือบริษัทในเครือ
อัปเดตล่าสุด 2025-07-27 UTC
[null,null,["อัปเดตล่าสุด 2025-07-27 UTC"],[],[],null,["# <uses-permission\u003e\n\n**Note:** In some cases, the permissions that you request\nthrough `\u003cuses-permission\u003e` can affect how Google Play filters your\napplication. If you request a hardware-related permission, such as\n`CAMERA`, Google Play assumes that your\napplication requires the underlying hardware feature and filters the application\nfrom devices that don't offer it.\n\nTo control filtering, always explicitly declare\nhardware features in `\u003cuses-feature\u003e` elements, rather than\nrelying on Google Play to \"discover\" the requirements in\n`\u003cuses-permission\u003e` elements. Then, if you want to disable\nfiltering for a particular feature, you can add a\n`android:required=\"false\"` attribute to the\n`\u003cuses-feature\u003e` declaration.\n\nFor a list of permissions that imply\nhardware features, see the documentation for the [`\u003cuses-feature\u003e`](/guide/topics/manifest/uses-feature-element#permissions-features) element.\n\nsyntax:\n:\n\n ```xml\n \u003cuses-permission android:name=\"string\"\n android:maxSdkVersion=\"integer\" /\u003e\n ```\n\ncontained in:\n: [\u003cmanifest\u003e](/guide/topics/manifest/manifest-element)\n\ndescription:\n\n: Specifies a system permission that the user must grant for the app to operate correctly. The user grants permissions when the application installs, on devices running Android 5.1 and lower, or while the app runs, on devices running Android 6.0 and higher.\u003cbr /\u003e\n\n\n For more information on permissions, see the\n [Permissions](/guide/topics/manifest/manifest-intro#perms)\n section in the app manifest overview and the\n [Permissions on Android](/guide/topics/permissions) guide.\n A list of permissions defined by the base platform is at\n [android.Manifest.permission](/reference/android/Manifest.permission).\n\nattributes:\n:\n\n `android:name`\n : The name of the permission. It can be a permission defined by the\n application with the [\u003cpermission\u003e](/guide/topics/manifest/permission-element)\n element, a permission defined by another application, or one of the\n standard system permissions, such as\n [\"android.permission.CAMERA\"](/reference/android/Manifest.permission#CAMERA)\n or [\"android.permission.READ_CONTACTS\"](/reference/android/Manifest.permission#READ_CONTACTS). As these examples show,\n a permission name typically includes the package name as a prefix.\n\n `android:maxSdkVersion`\n\n : The highest API level at which this permission is granted to your app. Setting this attribute is useful if the permission your app requires is no longer needed beginning at a certain API level.\u003cbr /\u003e\n\n For example, beginning with Android 4.4 (API level 19) it's no longer necessary for your app\n to request the [WRITE_EXTERNAL_STORAGE](/reference/android/Manifest.permission#WRITE_EXTERNAL_STORAGE)\n permission to write to its own application-specific directories on external storage, which are\n provided by [getExternalFilesDir()](/reference/android/content/Context#getExternalFilesDir(java.lang.String)).\n\n However,\n the permission *is required* for API level 18 and lower. So you can declare that this\n permission is needed only up to API level 18 with a declaration like the following: \n\n ```xml\n \u003cuses-permission\n android:name=\"android.permission.WRITE_EXTERNAL_STORAGE\"\n android:maxSdkVersion=\"18\" /\u003e\n ```\n\n This way, beginning with API level 19, the system no longer grants your app the\n `WRITE_EXTERNAL_STORAGE` permission.\n\n Added in API level 19.\n\nintroduced in:\n: API level 1\n\nsee also:\n:\n - [\u003cpermission\u003e](/guide/topics/manifest/permission-element)\n - [`\u003cuses-permission-sdk-23\u003e`](/guide/topics/manifest/uses-permission-sdk-23-element)\n - [\u003cuses-feature\u003e](/guide/topics/manifest/uses-feature-element)"]]