解决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,这才反应过来是外存储设备被锁了,然后断电重启,问题解决,记录一下.
posted @ 2015-04-20 21:09  enyusmile  阅读(8955)  评论(0编辑  收藏  举报