ปัญหา: ตอนที่ผมจะขอใช้ห้อแนะนำให้ใช้ getExternalStorageState()
ต้องการจะแทนที่ deprecated getExternalStorageDirectory()
ที่แนะนำให้ใช้แทนที่จะได้ค่าที่ผิดพลาด ฉันค้นพบปัญหาเมื่อตอนที่ FileInputStream
พุ่งชนซึ่งมันไม่ใช่มาก่อน
ต่อไปนี้คือ deprecated แต่อย่างถูกต้องกลับ: /storage/emulated/0/Download/alaina.jpg
return Environment.getExternalStorageDirectory().toString() + "/Download/" + fileName;
ต่อไปนี้ขอแนะนำให้และกลับ: mounted/download/alaina.jpg
return Environment.getExternalStorageState() + "/Download/" + fileName;
สิ่งที่ฉันต้องทำ: ผมนำเข้าและลอกใช้คลาส RealPathUtil
โดย tatocaster นเจอ ที่นี่ และทำงานได้เยี่ยมมาก อย่างไรก็ตามบางวิธีของ Environment
แล้ว MediaStore
เคยเป็นตอนนี้ deprecated. การใช้ getExternalStorageState()
เป็นการแนะนำทางการแจ้งเตือน. ฉันจะปกติแล้วจัดการการแจ้งเตือนและใช้คำแนะนำของฉันแน่นอนดอนและนี่เป็นครั้งแรกที่ต้นเหตุของปัญหาขอบคุณ
ที่ emulator ตำแหน่ง:
getExternalStorageState()
และ misinterpreted มัน อย่างไรก็ตามมันก็ยังจะได้ค่า deprecated แต่ฉันจะแค่สลับหลังและปล่อยมันไว้ อีกครั้งขอบคุณ