解决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