คำถามติดแท็ก scoped-storage

1
ทดสอบโดยทางโปรแกรมว่าใน Android 10+ การเข้าถึงที่เก็บข้อมูลภายนอกแบบเดิมนั้นถูกปิดใช้งาน
มีการเรียก API แบบง่าย ๆ ที่จะบอกฉันว่าแอปที่รันบน Android 10 หรือใหม่กว่าต้องใช้การเข้าถึงที่เก็บ Scoped หรือไม่นั่นคือถ้าการเข้าถึงไฟล์ปกติหรือที่รู้จักในชื่อ "Legacy External Storage" ถูกปิดใช้งานหรือไม่ โปรดทราบว่าแม้ว่าแอปใน AndroidManifest.xml จะประกาศส่วน: android:requestLegacyExternalStorage="true" การเข้าถึงไฟล์อาจยังถูกปฏิเสธเนื่องจากการเปลี่ยนแปลงนโยบายของ Google ในอนาคตดังนั้นการทดสอบค่านี้จึงไม่มีประโยชน์ วิธีเดียวที่ฉันพบคือการทดสอบว่าไดเรกทอรีรากของที่เก็บข้อมูลภายนอกนั้นสามารถอ่านได้หรือไม่ แต่สำหรับแอปนั้นจะต้องขอสิทธิ์ในการเก็บข้อมูลก่อนซึ่งเป็นประโยชน์สำหรับสิ่งอื่นใดหากปิดใช้งานที่เก็บข้อมูลดั้งเดิม public static boolean mustUseScopedStorage() { // Impractical must first ask for useless Storage permission... File exSD = Environment.getExternalStorageDirectory(); return !exSD.canRead(); // this test works only if Storage …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.