Android 10 ช่วยให้นักพัฒนาถามผู้ใช้ว่าต้องการเก็บข้อมูลแอปก่อนที่จะถอนการติดตั้งหรือไม่

Android 10 แนะนำแฟล็ก Manifest สำหรับนักพัฒนาแอป ซึ่งเมื่อเปิดใช้งาน จะอนุญาตให้ผู้ใช้เก็บข้อมูลแอปเมื่อถอนการติดตั้งแอป อ่านต่อ!

แอนดรอยด์ 10 เป็นการอัปเดตล่าสุดสำหรับ Android จาก Google นำมาซึ่ง การปรับปรุงระบบปฏิบัติการที่เป็นผู้ใหญ่เพียงเล็กน้อย. การเปลี่ยนแปลงและคุณสมบัติใหม่ส่วนใหญ่ในการอัปเดตใหม่ล่าสุดจะได้รับ เน้นโดย Google เอง ระหว่าง Google I/O หรือ พบได้ไม่นาน หลังจาก การเปิดเผยแหล่งที่มาสาธารณะ. แต่การเปลี่ยนแปลงที่โดดเด่นบางอย่างมีแนวโน้มที่จะหลุดลอยไปโดยไม่รู้ตัว และปรากฏขึ้นหลายเดือนต่อมาเมื่อมีคนสะดุดโดยบังเอิญ นั่นคือสิ่งที่เกิดขึ้นในกรณีนี้ เนื่องจากปรากฎว่า Android 10 อนุญาตให้นักพัฒนาถามผู้ใช้ของตนว่าต้องการเก็บข้อมูลแอปก่อนที่จะถอนการติดตั้งแอปหรือไม่

เมื่อเร็ว ๆ นี้ รายงานจาก หุ่นยนต์ตำรวจ เน้นฟังก์ชั่นนี้ แอพอย่าง วอทส์แอพพ์ และ เครื่องบันทึกเสียง ASR ได้เริ่มเสนอทางเลือกแก่ผู้ใช้ Android 10 ในการเก็บรักษาข้อมูลของแอพที่กำลังจะถอนการติดตั้ง

การทำเครื่องหมายในช่องที่แสดงด้านบนจะเก็บข้อมูลแอปในโทรศัพท์แม้ว่าจะถอนการติดตั้งแอปแล้วก็ตาม เมื่อคุณติดตั้งแอปใหม่ คุณจะกลับสู่สถานะเดิมภายในแอปเหมือนกับว่าคุณไม่เคยถอนการติดตั้งตั้งแต่แรก

มิชาลตรวจสอบสิ่งที่เกิดขึ้นเบื้องหลังเล็กน้อย เพื่อให้เข้าใจสิ่งนั้น คุณต้องเข้าใจก่อนว่าแอปบน Android สามารถจัดเก็บไฟล์บนอุปกรณ์ของคุณได้อย่างไร และมีตำแหน่งหลักสามแห่งสำหรับจัดเก็บไฟล์:

  • ไดเรกทอรีเฉพาะแอปในพื้นที่เก็บข้อมูลภายใน (ผู้ใช้ไม่สามารถเข้าถึงได้โดยไม่ต้องรูท): โฟลเดอร์เหล่านี้อยู่ที่ /data/data และไม่สามารถเข้าถึงได้โดยแอปอื่น ๆ หรือเมื่อผู้ใช้เสียบโทรศัพท์เข้ากับพีซีตามปกติ แอปไม่จำเป็นต้องมีสิทธิ์ในการเขียนไฟล์ลงในไดเร็กทอรีเฉพาะแอปของตนเองในตำแหน่งนี้
  • ไดเรกทอรีเฉพาะแอปในพื้นที่จัดเก็บข้อมูลภายนอก (ผู้ใช้เข้าถึงได้): โฟลเดอร์เหล่านี้อยู่ที่ /data/media/{user}/Android/data และสามารถเข้าถึงได้โดยแอปอื่น ๆ ที่ได้รับอนุญาตที่ถูกต้อง และสำหรับผู้ใช้เมื่อปกติแล้วพวกเขาเสียบโทรศัพท์เข้ากับคอมพิวเตอร์ แอพไม่จำเป็นต้องมีสิทธิ์ในการเขียนไฟล์ไปยังไดเร็กทอรีเฉพาะแอพของตนเองในตำแหน่งนี้ แต่จำเป็นต้องได้รับสิทธิ์ในการเข้าถึงข้อมูลจากแอพอื่นตามที่กล่าวไว้ก่อนหน้านี้
  • ไดเร็กทอรีใด ๆ ในที่จัดเก็บข้อมูลภายนอก (ผู้ใช้สามารถเข้าถึงได้): แอปสามารถขอสิทธิ์ในการเข้าถึงที่จัดเก็บข้อมูลภายนอก อนุญาตให้แอปสร้างโฟลเดอร์ใดก็ตามที่ต้องการบนที่จัดเก็บข้อมูลภายนอกเพื่อจัดเก็บทุกสิ่งที่ต้องการจัดเก็บ ที่นี่.

การขยายตัวอย่างของ WhatsApp ไดเร็กทอรีเฉพาะแอปของ WhatsApp ในที่จัดเก็บข้อมูลภายในอยู่ที่ /data/data/com.whatsapp; ไดเร็กทอรีเฉพาะแอปในที่จัดเก็บข้อมูลภายนอกอยู่ที่ /data/media/{user}/Android/data/com.whatsapp; และไดเร็กทอรีที่กำหนดเองในที่จัดเก็บข้อมูลภายนอกอยู่ที่ /data/media/{user}/WhatsApp.

ก่อนระบบปฏิบัติการ Android 10 และ ก่อนที่นักพัฒนาจะเปิดใช้งานสิ่งนี้สำหรับแอปของตน เมื่อผู้ใช้ถอนการติดตั้งแอป ไดเร็กทอรีเฉพาะแอปนั้นทั้งภายใน (/data/data) และภายนอก (/data/media) ที่เก็บข้อมูลจะถูกลบตามค่าเริ่มต้น ไดเรกทอรีเพิ่มเติมบนที่จัดเก็บข้อมูลภายนอกจะไม่ถูกลบ และคุณต้องกำจัดออกด้วยตนเองหรือใช้แอปที่คล้ายกัน เอสดี เมด ที่จะทำเพื่อคุณ

ด้วย Android 10 นักพัฒนาแอปสามารถเพิ่มแฟล็กพิเศษลงใน Manifest ที่เรียกว่า "hasFragileUserData" ที่อนุญาตให้ผู้ใช้ถามผู้ใช้ว่าต้องการเก็บรักษาข้อมูลของแอปไว้หรือไม่เมื่อถอนการติดตั้งแอป ซึ่งเป็นสิ่งที่คุณเห็นด้านบนในภาพหน้าจอ เมื่อคุณถอนการติดตั้งแอปโดยสลับช่องทำเครื่องหมายเพื่อเก็บข้อมูลแอป Android จะเก็บรักษาและไม่ลบไดเร็กทอรีเฉพาะแอปในพื้นที่จัดเก็บข้อมูลภายในและภายนอก เรายืนยันสิ่งนี้โดยการตรวจสอบไดเรกทอรีสำหรับแอปที่ไม่ได้เพิ่มแฟล็ก Manifest และแอปอื่นๆ เช่น WhatsApp ที่เพิ่มแฟล็ก Manifest


หากดูเผินๆ การมีตัวเลือกนี้สมเหตุสมผล เนื่องจากผู้ใช้สามารถถอนการติดตั้งแอปชั่วคราวและยังคงกลับไปที่แอปของตนได้ สถานะก่อนหน้าเมื่อติดตั้งใหม่ ซึ่งจะช่วยขจัดความยุ่งยากในการสำรองและกู้คืนแอปในคราวเดียวกัน อุปกรณ์. แต่โปรดจำไว้ว่า /data/data ไม่สามารถเข้าถึงได้หากไม่มีรูท ดังนั้นคุณในฐานะผู้ใช้จึงไม่สามารถใช้กระบวนการนี้สำหรับการสำรองข้อมูลและกู้คืนข้อมูลข้ามอุปกรณ์โดยไม่ต้องรูท ผู้ใช้ไม่สามารถลบไฟล์ที่ทิ้งไว้ได้ /data/data ไม่มีราก; ดังนั้นหากคุณต้องการล้างไฟล์ในอนาคต คุณจะต้องติดตั้งแอปใหม่ จากนั้นถอนการติดตั้งโดยไม่ทำเครื่องหมายในช่อง ใช้ตัวเลือกนี้กับแอปจำนวนมากเกินไป และคุณอาจลืมว่าแอปใดที่คุณในฐานะผู้ใช้เลือกไว้ เนื่องจากนี่เป็นทางเลือกสำหรับนักพัฒนาที่จะรวมไว้ และเป็นทางเลือกสำหรับผู้ใช้ในการเลือก เรารู้สึกว่านี่คือการเปลี่ยนแปลงเชิงบวกโดยรวมที่ให้พลังแก่ผู้ใช้มากขึ้น