[อัปเดต: รายละเอียดเพิ่มเติม] Android 11 บล็อกแอปกล้องของบุคคลที่สามไม่ให้ปรากฏในความตั้งใจในการเลือกรูปภาพ / วิดีโอ

click fraud protection

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

อัปเดต 1 (20/08/2020 เวลา 18:15 น. ET): Google ได้อัปเดตเอกสารสำหรับนักพัฒนาซอฟต์แวร์เพื่ออธิบายว่าทำไมแอปกล้องของบุคคลที่สามใน Android 11 ไม่สามารถตอบสนองต่อการกระทำที่มีเจตนาเป็นรูปภาพ/วิดีโอโดยนัยได้ เลื่อนไปด้านล่างเพื่อดูข้อมูลเพิ่มเติม บทความที่เผยแพร่เมื่อวันที่ 19 สิงหาคม 2020 จะถูกเก็บรักษาไว้ด้านล่าง

Android 11 กำลังเปลี่ยนวิธีที่แอปโต้ตอบด้วย แอพกล้องของบุคคลที่สาม บนอุปกรณ์ของคุณ ซึ่งจะป้องกันไม่ให้ปรากฏในจุดประสงค์ในการเลือกรูปภาพ/วิดีโอ ใน Android เวอร์ชันเก่า หากแอปต้องการให้ผู้ใช้ถ่ายภาพ ก็สามารถใช้การถ่ายภาพภายในแอปได้ (โดยใช้ API กล้องต่างๆ ของ Android) หรือสามารถส่ง Intent ที่สามารถจัดการได้โดยแอปกล้องเฉพาะเพื่อจับภาพ แทน. หากแอปตัดสินใจเลือกใช้ตัวเลือกหลัง ผู้ใช้ Android รุ่นเก่าๆ จะได้รับกล่องโต้ตอบแก้ความกำกวมเพื่อเลือกแอปกล้องที่ต้องการจับภาพ โดยทั่วไปกล่องโต้ตอบจะแสดงแอปกล้องทั้งหมดที่ติดตั้งในอุปกรณ์ของผู้ใช้ รวมถึงแอปกล้องของบุคคลที่สาม ตราบใดที่แอปเขียนขึ้นเพื่อตอบสนองต่อจุดประสงค์บางอย่าง อย่างไรก็ตาม สำหรับ Android 11 กล่องโต้ตอบจะรวมเฉพาะแอปกล้องสต็อกที่ติดตั้งไว้ล่วงหน้าเท่านั้น เว้นแต่นักพัฒนาจะกำหนดเป้าหมายแอปกล้องของบุคคลที่สามบางแอปโดยเฉพาะ

การเปลี่ยนแปลงอย่างมีประสิทธิผลหมายความว่า ในกรณีส่วนใหญ่ ผู้ใช้จะต้องเปิดแอปกล้องถ่ายรูปของบริษัทอื่นด้วยตนเองเมื่อต้องการถ่ายภาพ ซึ่งจะทำให้แอปกล้องถ่ายรูปของบริษัทอื่นไม่สะดวกในการใช้งาน นอกจากนี้ยังจะทำให้ผู้ใช้ตำหนินักพัฒนาแอปกล้องบุคคลที่สามเมื่อผู้ใช้พบว่าแอปกล้องที่พวกเขาชื่นชอบไม่สามารถเปิดจากแอปอื่นได้อีกต่อไป Google กำลังใช้การเปลี่ยนแปลงนี้ใน Android 11 โดยป้องกันไม่ให้แอปกล้องของบุคคลที่สามตอบสนองต่อการกระทำตามเจตนาต่อไปนี้:

  • android.media.action.VIDEO_CAPTURE
  • android.media.action.IMAGE_CAPTURE
  • android.media.action.IMAGE_CAPTURE_SECURE

Google กล่าวว่า การเปลี่ยนแปลงนี้ได้รับการตั้งค่าไว้ใน Android 11 เพื่อปกป้องความเป็นส่วนตัวและความปลอดภัยของผู้ใช้ บริษัทไม่ได้ให้รายละเอียดเกี่ยวกับวิธีการ แต่มีแนวโน้มว่าแอปที่เป็นอันตรายบางตัวปลอมตัวเป็นแอปกล้องเพื่อเข้าถึงรูปภาพของผู้ใช้ อย่างไรก็ตาม บริษัทได้กล่าวถึงวิธีแก้ปัญหาสำหรับนักพัฒนาที่จะอนุญาตให้แอปยังคงเปิดตัวแอปกล้องของบุคคลที่สามได้ วิธีแก้ปัญหาเบื้องต้นกำหนดให้นักพัฒนากำหนดเป้าหมายแอปบุคคลที่สามเฉพาะที่ตนเลือกเมื่อส่งเจตนา ตัวอย่างเช่น นักพัฒนาแอปเครื่องสแกนเอกสารสามารถส่งเจตนาที่ชัดเจนในการเปิดตัวได้ กล้องอะโดบีโฟโต้ชอป แทนที่จะส่งเจตนาโดยปริยายเพื่อเปิดตัวเลือกกล้อง Android 11 ทำให้นักพัฒนาไม่สามารถแม้แต่ค้นหารายการแอพที่สามารถตอบสนองทั้ง 3 อย่างที่กล่าวมาข้างต้น การกระทำตามเจตนา ซึ่งหมายความว่านักพัฒนาจะต้องทราบล่วงหน้าว่าต้องการแอปกล้องของบุคคลที่สามตัวใด สนับสนุน.

แหล่งที่มา: คอมมอนส์แวร์, นักพัฒนาซอฟต์แวร์ Android

ทาง: เรดดิต

ขอขอบคุณสมาชิกอาวุโส XDA นักพัฒนา AndroidLB สำหรับทิป!

อัปเดต 1: Google กล่าวว่าการเปลี่ยนแปลงนี้คือการรักษาความเป็นส่วนตัว

Google ได้อัปเดตหน้าการเปลี่ยนแปลงพฤติกรรม Android 11 ด้วยข้อมูลใหม่เกี่ยวกับ "การดำเนินการตามเจตนาของสื่อต้องใช้กล้องเริ่มต้นของระบบ" ส่วน (ผ่าน หมิ่น). Google อธิบายว่าการเปลี่ยนแปลงดังกล่าว "ได้รับการออกแบบมาเพื่อให้แน่ใจว่าข้อมูลเมตาของตำแหน่ง EXIF ​​​​ได้รับการประมวลผลอย่างถูกต้องตามการอนุญาตตำแหน่งที่กำหนดไว้ภายใน แอปส่งเจตนา" โดยพื้นฐานแล้ว Google กังวลว่าแอปที่ยังไม่ได้รับสิทธิ์การเข้าถึงตำแหน่งอย่างชัดแจ้งกำลังทำให้ผู้ใช้เปิดแอปกล้องถ่ายรูปที่ มี ได้รับสิทธิ์การเข้าถึงตำแหน่ง และเนื่องจากรูปภาพที่ได้ซึ่งส่งไปยังแอปอาจมีตำแหน่ง EXIF ​​​​ ข้อมูลเมตา จากนั้นแอปที่โทรสามารถข้ามการร้องขอการเข้าถึงตำแหน่งได้โดยการอ่านข้อมูลตำแหน่งจาก รูปถ่าย. หากแอปพยายามทำเช่นนี้ใน Android 11 แอปจะต้องประกาศ ACCESS_MEDIA_LOCATION เช่นเดียวกับ ACCESS_COARSE_LOCATION หรือ ACCESS_FINE_LOCATION การอนุญาตเพื่ออ่านข้อมูลเมตาของตำแหน่ง EXIF (หมายเหตุ Google ปิดช่องโหว่การเข้าถึงตำแหน่งอื่น ใน Android 10 โดยกำหนดให้แอปร้องขอ ACCESS_MEDIA_LOCATION การอนุญาตหากแอปพยายามดึงข้อมูลเมตา EXIF ​​​​ที่ยังไม่ได้แก้ไขจากรูปภาพ)

ในขณะที่การเปลี่ยนแปลงพฤติกรรมนี้จะส่งผลต่อความสามารถของแอพในการเปิดแอพกล้องเริ่มต้นที่ผู้ใช้กำหนดเนื่องจากอายุและการใช้งานบ่อยของ 3 การกระทำตามเจตนาข้างต้นคือ Google ตั้งข้อสังเกตว่าการเปลี่ยนแปลงไม่ส่งผลต่อการกระทำโดยเจตนาทั้งหมดที่สามารถเปิดแอปกล้องเริ่มต้นที่ผู้ใช้กำหนดได้ เช่น เช่น: android.provider.MediaStore.INTENT_ACTION_STILL_IMAGE_CAMERA, android.provider.MediaStore.INTENT_ACTION_STILL_IMAGE_CAMERA_SECURE, หรือ android.provider.MediaStore.INTENT_ACTION_VIDEO_CAMERA. จุดประสงค์เหล่านี้ไม่ได้ใช้เพื่อจุดประสงค์เดียวกัน เนื่องจากจะเปิดเฉพาะแอปกล้องเริ่มต้นเท่านั้น แทนที่จะอนุญาตให้ส่งรูปภาพกลับไปยังแอปที่โทรออก