ตั้งแต่วันที่ 27 มีนาคม 2025 เป็นต้นไป เราขอแนะนำให้ใช้ android-latest-release
แทน aosp-main
เพื่อสร้างและมีส่วนร่วมใน AOSP โปรดดูข้อมูลเพิ่มเติมที่หัวข้อการเปลี่ยนแปลงใน AOSP
การอ่านหน้าจอแบบจำกัด
จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน
บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ
ใน Android 9 และต่ำกว่า ระบบจะมอบสิทธิ์การจับภาพบัฟเฟอร์หน้าจอ (READ_FRAME_BUFFER
,
CAPTURE_VIDEO_OUTPUT
และ
CAPTURE_SECURE_VIDEO_OUTPUT
) ให้แก่แอปที่มีลายเซ็นหรือสิทธิ์ที่มีสิทธิ์ ซึ่งช่วยให้กิจกรรมการจับภาพบัฟเฟอร์หน้าจอเป็นไปอย่างราบรื่น เช่น การจับภาพหน้าจอ หรือการบันทึกเนื้อหาหน้าจอของอุปกรณ์
ตั้งแต่ Android 10 เป็นต้นไป ระบบจะไม่ให้สิทธิ์การจับภาพวิดีโอแก่แอปที่มีสิทธิ์เพื่อป้องกันการเข้าถึงเนื้อหาหน้าจอของอุปกรณ์โดยไม่แสดงข้อความแจ้ง การเข้าถึงโดยไม่ได้รับความยินยอมจากผู้ใช้จะถูกจํากัด และจะได้รับอนุญาตเฉพาะแอปที่มีสิทธิ์ลายเซ็นเท่านั้น ผู้ผลิตอุปกรณ์ที่เรียกใช้แอปที่มีสิทธิ์ซึ่งอาศัยฟังก์ชันการจับภาพแบบเงียบนี้จะได้รับผลกระทบจากข้อกำหนดนี้
ใน Android 10 หากไม่มีสิทธิ์ลายเซ็นการจับภาพบัฟเฟอร์หน้าจอที่ระบุไว้ แอปของคุณจะจับภาพบัฟเฟอร์หน้าจอโดยไม่ได้รับความยินยอมจากผู้ใช้ไม่ได้ หากต้องการตรวจสอบว่าคุณมีสิทธิ์ที่จำเป็น ให้ค้นหาสิทธิ์ลายเซ็นที่ระบุไว้ก่อนหน้านี้ในไฟล์ Manifest ย้ายข้อมูลแอปที่มีสิทธิ์ทั้งหมดที่ได้รับผลกระทบ (ตามที่พบในการค้นหา) ไปยังคลาส MediaProjectionManager ซึ่งอนุญาตให้แอปของบุคคลที่สามจับภาพบัฟเฟอร์หน้าจอได้โดยไม่ต้องขอสิทธิ์ แต่ต้องได้รับความยินยอมจากผู้ใช้ ขั้นตอนนี้จะแสดงกล่องโต้ตอบที่แจ้งให้ผู้ใช้อนุญาตให้จับภาพหน้าจอเมื่อแอปเริ่มดำเนินการ ใน Android 10 ฟีเจอร์ใหม่ของกล่องโต้ตอบมีดังนี้
- แสดงการเชื่อมโยงที่มองเห็นได้ชัดเจนยิ่งขึ้นด้วยไอคอน Cast
- ให้ข้อมูลเพิ่มเติมเกี่ยวกับความละเอียดอ่อนของข้อมูลที่เข้าถึงได้
- ป้องกันไม่ให้ผู้ใช้ซ่อนกล่องโต้ตอบในการเริ่มต้นใช้งานในอนาคต: กล่องโต้ตอบจะแสดงทุกครั้ง
ตัวอย่างเนื้อหาและโค้ดในหน้าเว็บนี้ขึ้นอยู่กับใบอนุญาตที่อธิบายไว้ในใบอนุญาตการใช้เนื้อหา 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"],[],[],null,["# Restricted screen reading\n\nIn Android 9 and lower, the screen buffer\ncapture permissions (`READ_FRAME_BUFFER`,\n`CAPTURE_VIDEO_OUTPUT`, and\n`CAPTURE_SECURE_VIDEO_OUTPUT`) were granted to apps that\nhad *either* signature or privileged permissions. This\nenabled seamless screen-buffer capturing activities, such as\ntaking screenshots, or recording a device's screen contents.\n\nStarting in Android 10, to prevent\nsilent access to a device's screen contents, video capture\npermissions aren't granted to privileged apps. Access\nwithout user consent is [restricted](https://developer.android.com/about/versions/11/privacy/permissions),\nand granted only to apps that have signature\npermissions. Device manufacturers that run privileged apps relying\non this silent capture functionality are affected by this\nrequirement.\n\nAs of Android 10 if you\ndon't have the listed screen-buffer capture signature permissions, your\napp can't capture screen buffers without user consent. To\nensure you have the permissions you need, search your manifest file\nfor the previously listed signature permissions. Migrate all affected privileged\napps (as found in your search) to the [MediaProjectionManager](https://developer.android.com/reference/android/media/projection/MediaProjectionManager)\nclass, which allows any third party app\nto capture screen buffers without permissions, but with user\nconsent. This flow displays a dialog that prompts the user to\nallow screen capturing when an app initiates it. In Android 10,\nnew features of the dialog include the following:\n\n- Provides more visible associations with the **Cast** icon.\n- Provides more information about the sensitivity of the data that can be accessed.\n- Prevents users from hiding the dialog on future initiations: the dialog shows every time."]]