android 4.0 以上平台选择图片报错Attempted to access a cursor after it has been closed.
来源:互联网 发布:淘宝上被骗了怎么投诉 编辑:程序博客网 时间:2024/05/20 03:46
- android.database.StaleDataException: Attempted to access a cursor after it has been closed.
- at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2444)
- at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2472)
- at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1173)
- at android.os.Handler.dispatchMessage(Handler.java:99)
- at android.os.Looper.loop(Looper.java:137)
- at android.app.ActivityThread.main(ActivityThread.java:4424)
- at java.lang.reflect.Method.invokeNative(Native Method)
- at java.lang.reflect.Method.invoke(Method.java:511)
- at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
- at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
- at dalvik.system.NativeStart.main(Native Method)
- Caused by: android.database.StaleDataException: Attempted to access a cursor after it has been closed.
选择图片后 onActivityResult中的代码如下:
- Uri uri = data.getData();
- if (uri != null)
- {
- mFilePath = new URIUtils().getPathFromUri(uri);
- }
解决办法如注释中的所示。 4.0以上平台会自动关闭cursor
- protected String getPath(Uri uri)
- {
- String filePath = "";
- String[] projection = {MediaColumns.DATA };
- Cursor cursor = managedQuery(uri,
- projection,
- null,
- null,
- null);
- if (cursor != null)
- {
- int columnIndex = cursor.getColumnIndexOrThrow(MediaColumns.DATA);
- cursor.moveToFirst();
- filePath = cursor.getString(columnIndex);
- try
- {
- //4.0以上的版本会自动关闭 (4.0--14;; 4.0.3--15)
- if(Integer.parseInt(Build.VERSION.SDK) < 14)
- {
- cursor.close();
- }
- }catch(Exception e)
- {
- Log.error(TAG, "error:" + e);
- }
- }
- return filePath;
- }
0 0
- android 4.0 以上平台选择图片报错Attempted to access a cursor after it has been closed.
- android 4.0 以上平台选择图片报错Attempted to access a cursor after it has been closed.
- android 4.0 以上平台选择图片报错Attempted to access a cursor after it has been closed.
- Android选择图片报错Attempted to access a cursor after it has been closed.
- Android报错 Attempted to access a cursor after it has been closed.的解决方法
- Android读取相册时报错:Attempted to access a cursor after it has been closed.
- android.database.StaleDataException: Attempted to access a cursor after it has been closed
- android开发问题:Attempted to access a cursor after it has been closed.
- android.database.StaleDataException: Attempted to access a cursor after it has been closed
- 异常:android.database.StaleDataException: Attempted to access a cursor after it has been closed
- android.database.StaleDataException: Attempted to access a cursor after it has been closed.
- android.database.StaleDataException: Attempted to access a cursor after it has been clos
- Caused by: android.database.StaleDataException: Attempted to access a cursor after it has been close
- android.database.StaleDataException: Attempted to access a cursor after it has b
- Finalizing a Cursor that has not been deactivated or closed
- This app has crashed because it attempted to access privacy-sensitive data without a usage descripti
- This app has crashed because it attempted to access privacy-sensitive data without a usage descripti
- This app has crashed because it attempted to access privacy-sensitive data without a usage descripti
- 微信jssdk接口(php)
- Android Studio 1.01 使用 Git 总结及问题解决(需要在本地安装git )
- 常见算法之排序一【冒泡排序】
- 如何解决PHP连接MySQL时出现的Access denied for user 'root' @ 'localhost'(using password :YES)
- Win8Metro(C#)数字图像处理--2.29图像除法运算
- android 4.0 以上平台选择图片报错Attempted to access a cursor after it has been closed.
- Linux 下zip包的压缩与解压
- 关于typedef的用法总结
- win8系统使用MyEclipse的复制一行代码ctrl+alt+方向键,解决方案
- 开源3D游戏引擎Irrlicht简介
- 用c语言多文件编写1000人的通讯录
- openlayers调用geoserver地图不显示
- Java异常处理
- Flume-ng 多节点集群搭建