解決Context.getExternalFilesDir(null)返回null造成java.lang.NullPointerException的問題


問題產生:
     今天在寫一個日志工具類的時候,想把日志文件放在外存儲設備的應用專用文件夾里,即,如:/mnt/sdcard/myPackageName /Android/data/files下.很自然的用起來Context.getExternalFilesDir(null)方法,但是在寫好工具 類,測試時報java.lang.NullPointerException,懵了!
      找了好久的解決方法:
  1.  有說是因為   權限問題,把< uses-permission android:name ="android.permission.WRITE_EXTERNAL_STORAGE" />寫成了 < uses-permission android:name ="android.permissions.WRITE_EXTERNAL_STORAGE" />,注意是permission多加了個's';
  2. 有的說是Context獲取問題,即,把context的初始化放在了類的構造函數里,而不是在OnCreate()里.
以上兩種方法,試了,都沒解決我的問題.
隨后發現了問題:我的測試硬體是RK3188盒子,然后在logcat里發現了Failed to fstatat(/mnt/shell/emulated/0/Android/data/com.xm): Device or resource busy,這才反應過來是外存儲設備被鎖了,然后斷電重啟,問題解決,記錄一下.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM