小米手机Attempt to invoke interface method 'boolean android.database.Cursor.moveToFirst()'
来源:互联网 发布:社交软件推荐算法 编辑:程序博客网 时间:2024/06/05 10:15
原文:http://blog.csdn.net/iamwutianbao/article/details/52459509
小米手机选择了图片之后,小米机会崩掉(别的机子,啥版本都没问题)。看异常信息,指示cursor.moveToFirst(),空指针异常。也就是说,cursor为空。是uri的问题,4.4之前,返回的是包含图片绝对路劲的,4.4之后,返回的不再是绝对路劲了,而是一个图片的编码。小米不论版本高低,小米机会崩掉,得到的只是一个图片编码。这时需要去转换为绝对路径,才能方便使用。下面方法是可以得到绝对路径的方法,是大神封装好了,封装成了一个pictureHelper工具类。
吐槽一下,除了小米,用ACTION_PICK,都能得到一个图片的绝对路径。如果是小米,用ACTION_PICK,就需要去转化了。但是,小米用ACTION_GET_CONTENT或者ACTION_OPEN_DOCUMENT,低版本,也能得到绝对路径。。最后统一的处理方法就是,用ACTION_GET_CONTENT,然后分版本处理,低版本还是旧的方法,高版本,用pictureHelper工具类处理得到绝对路径。
如果是想要获取相册中图片的路径,直接这样调用:
====================== 我是一条分割线 ==========================
下面是其他开发者的处理方法
他们这样调用方法:
2 0
- 小米手机Attempt to invoke interface method 'boolean android.database.Cursor.moveToFirst()'
- Attempt to invoke interface method 'boolean android.database.Cursor.requery()' on a null object refe
- Attempt to invoke interface method 'boolean java.util.List.add(java.lang.Object)' on a null
- Attempt to invoke virtual method 'boolean RecyclerView$LayoutManager.canScrollVertically()
- java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.widget.CheckBox.is
- 子线程Handler.sendMessage 报错:Attempt to invoke virtual method 'boolean android.os.Handler.sendMessage
- android switch button 报 java.lang.NullPointerException: Attempt to invoke virtual method 'boolean
- 【未解决】java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.graphics.Bitm
- Attempt to invoke virtual method 'void android.app.ActionBar.setDisplayHomeAsUpEnabled(boolean)' on
- Android报错:Attempt to invoke virtual method 'boolean java.lang.String.equals(java.lang.Object)'
- Android异常:Attempt to invoke virtual method 'boolean java.lang.String.equals(java.lang.Object)'
- 错误:Attempt to invoke interface method 'boolean java.util.List.add(java.lang.Object)' on a null
- 安卓开发——报错:Attempt to invoke interface method 'boolean java.util.List.add(java.lang.Object)' on a null
- Android:Attempt to invoke virtual method 'int android.view.View
- Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean java.lang.Str
- 解决Attempt to invoke virtual method'boolean java.lang.String.equals(java.lang.Object)'...
- java.lang.NullPointerException: Attempt to invoke virtual method 'boolean java.lang.String.equals(ja
- 报错Attempt to invoke virtual method 'boolean java.lang.String.equals(java.lang.Object)'
- 嵌入式开发流程
- svn cleanup failed 的处理,亲测有效
- 4.20信息日常
- 使用JS监听键盘两个组合键触发的事件
- 在线文档管理系统
- 小米手机Attempt to invoke interface method 'boolean android.database.Cursor.moveToFirst()'
- You can't specify target table 'Person' for update in FROM clause
- JS获取页面通过URL传的参数
- Genymotion vitualbox 报错处理, 亲测有效
- React学习
- TestNG重复执行测试
- Jmeter 学习第一章
- 使用poi导出表格
- python获取当前路径(小记1)