ใน Android 11 แอพสามารถแนะนำให้ย้ายรูปภาพและวิดีโอที่ถูกลบไปยังถังรีไซเคิลที่ซ่อนอยู่ การดำเนินการนี้จะเก็บรายการขยะไว้ในอุปกรณ์ชั่วคราว
Google กำลังพยายามควบคุมสถานการณ์พื้นที่จัดเก็บแอปที่อยู่นอกการควบคุมด้วย "Scoped Storage" Scoped Storage เปิดตัวใน Android 10 แต่มีการเปลี่ยนแปลงหลายครั้งตั้งแต่เปิดตัว เนื่องจากมีผลกระทบอย่างมากต่อการเข้าถึงพื้นที่เก็บข้อมูลสำหรับ Android หลายรุ่น การใช้งาน Google กำลังบังคับใช้ Scoped Storage สำหรับแอปที่กำหนดเป้าหมาย API ระดับ 30 ซึ่งเป็นระดับ API ล่าสุดที่ตรงกับ Android 11
แทนที่จะพยายาม อธิบาย Scoped Storage อีกครั้งนี่คือกราฟิกจาก Google "ทุกสิ่งเป็นความเป็นส่วนตัวใน Android 11" การพูดคุยที่สรุปว่า Scoped Storage จะส่งผลต่อการเข้าถึงพื้นที่เก็บข้อมูลสำหรับแอปใน Android 11 อย่างไร
การเปลี่ยนแปลงที่น่าสนใจอย่างหนึ่งในการเข้าถึงพื้นที่เก็บข้อมูลที่ดำเนินการภายใต้เรดาร์จนถึงขณะนี้คือการแนะนำกลไก "ถังขยะ" ใหม่ คุณลักษณะนี้มีรายละเอียดอยู่ใน "การเข้าถึงพื้นที่เก็บข้อมูลด้วย Android 11"วิดีโอ โดยพื้นฐานแล้วแอพที่ใช้ MediaStore API สามารถทิ้งไฟล์แทนที่จะลบเพื่อให้ผู้ใช้สามารถกู้คืนไฟล์ได้ในภายหลัง Google เปรียบเสมือนคุณลักษณะนี้กับถังรีไซเคิลบนพีซี ยกเว้นถังรีไซเคิลของ Android จะถูกซ่อนไว้ตามค่าเริ่มต้น Google ระบุว่าแอปที่มีสิทธิ์แก้ไขไฟล์ในถังขยะหรือขอความยินยอมจากผู้ใช้สามารถแสดงรายการจากถังรีไซเคิลได้ รายการที่ถูกทิ้งในถังขยะจะถูกลบโดย Android โดยอัตโนมัติหลังจากผ่านไป 30 วัน
Android 11 ยังกำหนดให้แอปต้องได้รับความยินยอมจากผู้ใช้ก่อนที่จะแก้ไขไฟล์สื่อที่แอปไม่ได้เป็นเจ้าของ คุณสมบัติใหม่อีกอย่างที่เพิ่มเข้ามาคือ "รายการโปรด" ซึ่งช่วยให้แอปสื่อสามารถเพิ่มไฟล์ "รายการโปรด" ได้ สถานะให้กับรายการสื่อที่กำหนดเพื่อให้แอปสื่ออื่นรู้ว่าผู้ใช้ดูรายการเหล่านี้เป็น สำคัญ. ตัวอย่างเช่น หากผู้ใช้ติดดาวรายการในแอปแกลเลอรี แอปสื่ออื่นๆ จะเห็นว่ารายการนี้เป็นรายการโปรด
แม้ว่าการพูดคุยของ Google จะไม่แสดงตัวอย่างแนวคิดถังขยะใหม่ของ MediaStore แต่ API ดังกล่าวก็มีให้ใช้งานแล้วตั้งแต่การแสดงตัวอย่างนักพัฒนา Android 11 ครั้งแรก นักพัฒนา Yuriy Mysochenko เผยแพร่ไฟล์ บทความเกี่ยวกับสื่อ ย้อนกลับไปในเดือนกุมภาพันธ์ที่ใช้ API ใหม่นี้ และเขาได้สาธิต API ในแอปตัวอย่างดังที่แสดงด้านล่าง:
ในการสาธิตนี้ แอปจะถามผู้ใช้ว่าต้องการย้ายรูปภาพลงถังขยะหรือไม่ ซึ่งจะลบรูปภาพออกจากแกลเลอรีชั่วคราว หลังจากผ่านไป 7 วัน รูปภาพจะถูกลบออกจากพื้นที่เก็บข้อมูลอย่างถาวร Googler Roxanna Aliabadi กล่าวว่าระบบปฏิบัติการจัดเก็บรายการในถังขยะเป็นเวลา 30 วัน ดังนั้นขีดจำกัดพื้นที่เก็บข้อมูล 7 วันจึงมีแนวโน้มเพิ่มขึ้นตั้งแต่การแสดงตัวอย่างครั้งแรกสำหรับนักพัฒนาซอฟต์แวร์
นักพัฒนาที่สนใจใช้งาน API นี้สามารถตรวจสอบเอกสารได้ทันทีบนเว็บไซต์นักพัฒนา Android แอปสื่อสามารถสร้าง PendingIntent ที่เรียกว่า createTrashRequest เพื่อแจ้งให้ผู้ใช้ทิ้งรายการ ซึ่งจะเพิ่มแฟล็ก IS_TRASHED แล้ว ระบุว่ารายการสื่อถูกทิ้งในถังขยะ รายการขยะจะถูกเก็บไว้โดยระบบปฏิบัติการจนถึง DATE_EXPIRESหลังจากนั้นจะถูกลบออกจากที่เก็บข้อมูลอย่างถาวร แอปสื่อที่สอบถาม MediaStore จะต้องค้นหารายการในถังขยะอย่างชัดเจนโดยใช้ QUERY_ARG_MATCH_TRASHED เนื่องจากรายการในถังขยะจะถูกกรองออกจากการดำเนินการตามค่าเริ่มต้น
คุณสามารถ (และควร) ฟังการบรรยายฉบับเต็มเกี่ยวกับ Scoped Storage หากแอปของคุณเกี่ยวข้องกับการเข้าถึงพื้นที่เก็บข้อมูล: