解决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,这才反应过来是外存储设备被锁了,然后断电重启,问题解决,记录一下.

时间: 2024-10-09 07:50:56

解决Context.getExternalFilesDir(null)返回null造成java.lang.NullPointerException的问题的相关文章

报错!!!Servlet.service() for servlet [action] in context with path [/myssh] threw exception [java.lang.NullPointerException] with root cause java.lang.NullPointerException

这个为什么报错啊~~ at com.hsp.basic.BasicService.executeQuery(BasicService.java:33) 这个对应的语句是   Query query =this.sessionFactory.getCurrentSession().createQuery(hql); Sep 24, 2017 11:39:50 PM org.apache.catalina.core.StandardWrapperValve invoke 严重: Servlet.se

(未解决)严重:threw exception java.lang.NullPointerException

问题描述: Servlet.service() for servlet [servlet.AddModuleServlet] in context with path [/PermissionSystem] threw exception java.lang.NullPointerException 添加数据库时,空指针. AddModule.jsp在Module文件夹外则没有问题. 但form中添加路径了啊:<form action="<%=request.getContextPa

faultString = &quot;java.lang.NullPointerException : null&quot;

1.错误描述 (mx.messaging.messages::ErrorMessage)#0 body = (null) clientId = "E75F6AF8-5E0E-4184-3AF2-860E39C2D8CD" correlationId = "DD54367E-6190-6FF3-C263-81FEF0DB9D09" destination = "waitRestoreController" extendedData = (null)

struts2 报错:java.lang.NullPointerException: Source must not be null

今天使用strut2+ajax进行异步上传时出错,控制台没有打印信息,ajax回调函数中alert返回值得到如下信息,大概就是空指针的意思. 实际上是上传的input name值和action变量名不一致造成.input name为myfile,变量为myFile,一个字母的大小写造成的错误!注意这个地方! HTTP Status 500 - type Exception report message description The server encountered an internal

java.lang.NullPointerException: Attempt to invoke virtual method &#39;java.util.List com.yunweather.app.db.YunWeatherDB.loadProvinces()&#39; on a null object reference

NullPointerException:查看自己的什么地方是否对空指针进行了操作 Attempt to invoke virtual method 'java.util.List com.yunweather.app.db.YunWeatherDB.loadProvinces()' on a null object reference 尝试用一个空对象引用调用LoadProvinces()方法,查看调用LoadProvinces()的对象是否初始化,很可能是因为你没有初始化就调用了LoadPr

java.lang.NullPointerException: Attempt to invoke virtual method &#39;void 、Handler.removeMessages(int)&#39; on a null object reference

onDestory进行释放Handler时,需要判断null if(null != mHandler) { mHandler.removeMessages(MSG_CHANGE_TEXT_COLOR); mHandler.removeMessages(MSG_JUMP_TO_SUCCESS_PAGE); mHandler.removeMessages(MSG_PLAY_LITTLE_PEOPLE_ANIMATION); mHandler.removeMessages(MSG_PLAY_WRONG

hive分区导致FAILED: Hive Internal Error: java.lang.NullPointerException(null)

写了一条hive sql ,其中条件中存在 dt>=20150101 and dt<=20150228 这样的条件,原来执行没问题,今天就抛出 FAILED: Hive Internal Error: java.lang.NullPointerException(null)java.lang.NullPointerException at org.apache.hadoop.hive.ql.optimizer.pcr.PcrExprProcFactory.opAnd(PcrExprProcFa

jsp发布:Could not publish server configuration: null. java.lang.NullPointerException

1.jsp发布: Could not publish server configuration: null. java.lang.NullPointerException 答案 :http://zhouhaitao.iteye.com/blog/1998979 查找到错误啦: 圈中的地方写成了花生壳域名:“daci123.eicp.net”\ 修改后启动正常 重启后显示: Removing obsolete files from server...Could not clean server o

Struts2中使用execAndWait后,在 Action中调用getXXX()方法报告java.lang.NullPointerException异常的原因和解决方法

使用 Struts2 编写页面,遇到一个要长时间运行的接口,因此增加了一个execAndWait ,结果在 Action 中调用 getContext()的时候报告异常 1 ActionContext context = ActionContext.getContext(); 2 ServletContext servletContext = (ServletContext) context.get(ServletActionContext.SERVLET_CONTEXT); //抛空指针异常