Environment.getExternalStorageState()返回"删除"在JellyBean /冰淇淋三明治中引起NPE

时间:2017-04-13 11:30:49

标签: android

我正在尝试使用SELECT s.firstname, s.lastname, CASE WHEN r.student_id IS NOT NULL THEN 'registered' ELSE 'not registered' END AS status FROM students s LEFT JOIN registrations r ON s.student_id = r.student_id LEFT JOIN courses c ON c.course_code = r.course_code AND c.course_name LIKE '%Development%'; 创建一个新文件,但它返回null。当我运行Environment.getExternalStorageState()时,它当前正在返回删除。目前只有冰淇淋三明治和果冻豆的情况,因为我测试了棉花糖和牛轧糖,它工作正常。我正在使用模拟器,我该如何解决这个问题?

编辑:我还在Manifest中包含了读写权限。 (读写外部存储器)

2 个答案:

答案 0 :(得分:0)

您是否将这些权限添加到清单?

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

答案 1 :(得分:0)

来自docs of getExternalFilesDir()

  

如果共享存储空间当前不可用,则可以返回 null

这意味着,您必须通过check getExternalStorageState(File)天气存储或不存在。

  

共享存储可能并不总是可用,因为用户可以弹出可移动媒体。可以使用 getExternalStorageState(文件)检查媒体状态。

相关问题