Android 13 ช่วยให้นักพัฒนาปิดไม่ให้แสดงตัวอย่างแอปในเมนูมัลติทาสก์ได้โดยไม่ต้องใช้ FLAG_SECURE อ่านวิธีการได้ที่นี่!
บน Android นักพัฒนาซอฟต์แวร์สามารถป้องกันไม่ให้แอปจับภาพหน้าจอได้โดยการตั้งค่า FLAG_SECURE นี่เป็นผลข้างเคียงที่ตั้งใจไว้ในการป้องกันไม่ให้แสดงตัวอย่างแอปในเมนูมัลติทาสก์ เนื่องจากการแสดงตัวอย่างเหล่านั้นเป็นภาพหน้าจอของแอปในสถานะที่ใช้งานครั้งล่าสุด แอพธนาคารและแอพที่มีการป้องกัน DRM เช่น Netflix โดยทั่วไปจะใช้การตั้งค่าสถานะที่ได้รับการป้องกันนี้ แต่เป็นวิธีเดียวที่จะป้องกันไม่ให้แสดงตัวอย่างนั้น ตอนนี้ดูเหมือนว่า แอนดรอยด์ 13 จะให้นักพัฒนาปิดการใช้งานการแสดงตัวอย่างรูปภาพเหล่านั้นเท่านั้น ในขณะที่ยังคงอนุญาตให้ผู้ใช้ถ่ายภาพหน้าจอได้
ตามที่เห็น. เอสเปอร์, Android 13 ขอแนะนำ setRecentsScreenshotEnabled แล้ว เอพีไอ มีเหตุผลบางประการที่นักพัฒนาอาจต้องการใช้คุณลักษณะนี้ สิ่งที่สำคัญที่สุดที่ฉันจินตนาการได้คือเมื่อจัดการข้อมูลที่ละเอียดอ่อนซึ่งผู้ใช้ไว้วางใจให้ตัดสินใจว่าจะจับภาพหน้าจอได้อย่างปลอดภัยหรือไม่ ตอนนี้, FLAG_SECURE โดยทั่วไปจะใช้เพื่อปกป้องแอปที่แสดงเนื้อหาที่เขียนคำโฆษณาไม่ให้ถูกบันทึกเนื้อหา และมีผลข้างเคียงจากการไม่อนุญาตให้แสดงตัวอย่างแอปในเมนูมัลติทาสก์
สมมติว่าคุณต้องส่งภาพหน้าจอของการโอนเงินผ่านธนาคารไปให้ใครสักคน นักพัฒนาแอปธนาคารของคุณสามารถเลือกได้ว่าจะตั้งค่า FLAG_SECURE หรือใช้อันใหม่ setRecentsScreenshotEnabled API เพื่อปิดการใช้งานภาพหน้าจอของแอพที่แสดงในมัลติทาสก์ ดูตัวอย่าง หากคุณต้องการส่งภาพหน้าจอของการโอนนั้น คุณไม่สามารถทำได้ในขณะที่เปิดใช้งาน FLAG_SECURE อย่างไรก็ตาม ผู้ใช้อาจไม่ต้องการให้รายละเอียดที่ละเอียดอ่อนของธนาคารปรากฏในเมนูมัลติทาสกิ้ง รายละเอียดที่ละเอียดอ่อน เช่น ยอดคงเหลือในธนาคารหรือการโอนเงินล่าสุด การแนะนำ API นี้สามารถแก้ปัญหานั้นได้อย่างแน่นอน
มันเป็นวิธีแก้ปัญหาเฉพาะกลุ่มอย่างแน่นอน แต่ฉันแน่ใจว่ามีสถานการณ์อื่นที่คล้ายคลึงกันในสถานการณ์นี้ นักพัฒนาซอฟต์แวร์ที่ใช้ FLAG_SECURE เพื่อซ่อนตัวอย่างแอปในเมนูล่าสุดเป็นวิธีแก้ปัญหาชั่วคราวที่ไม่ใช่ มีไว้สำหรับการใช้งานนั้นจริงๆ และเป็นเรื่องดีที่ Google ให้ทางเลือกแก่นักพัฒนาในการซ่อนแอปเหล่านั้น ตัวอย่าง
แหล่งที่มา: เอสเปอร์