Android中的java异常解码位图错误:尝试调用虚拟方法“Android”。操作系统。包裹描述符
我有一个应用程序,它有一些实现某些功能的按钮
其中两项是:
共享图像-用户可以共享的应用程序提供的图像
“设置为”-用户cal还利用“设置为”功能(设置为 壁纸、联系人照片等)
该应用目前还没有上线,所以我在我的手机和2-3款其他Android手机上测试了它的apk。该应用程序仅在我的设备上正常运行,但我发现
“共享”和“设置为”在emulator上不起作用-日志cat错误如下所示。这是sdk
安卓 { compileSdkVersion 23 buildToolsVersion "23.0.3" defaultConfig { applicationId "my package name" minSdkVersion 16 targetSdkVersion 23 versionCode 1 versionName "1.0"
}
“共享”和“设置为”在我的Android手机上运行得非常好- 安卓5.0。它在“手机存储器”中创建一个文件夹并保存图像 根据我的代码如下所示
“共享”和“设置为”在Android 6.0上不起作用。它甚至没有创建文件夹
“记录模拟器的cat错误…即上面的第1点”
- 在Emulator中单击“共享”后出错
爪哇。木卫一。FileNotFoundException:“/storage/emulated/0/MyFolder/myimg.png”;:打开失败:enoint(没有这样的文件或目录)
在Emulator中单击“设置为”后出错
08-22 21:27:34.526 2208-2208/?E/UriImage:解码位图时出现异常 JAVAlang.NullPointerException:尝试调用虚拟方法“安卓”。操作系统。帕塞尔菲勒。所容纳之物内容解析程序。空对象引用上的openFileDescriptor(安卓.net.Uri,java.lang.String) 在com。安卓照相机Util。makeInputStream(Util.java:336) 在com。安卓照相机Util。makeBitmap(Util.java:307) 在com。安卓照相机Util。makeBitmap(Util.java:299) 在com。安卓照相机陈列室乌里image。fullSizeBitmap(UriImage.java:94) 在com。安卓照相机陈列室乌里image。fullSizeBitmap(UriImage.java:86) 在com。安卓照相机陈列室乌里image。拇指位图(UriImage.java:120) 在com。安卓照相机CropImage。onCreate(CropImage.java:143) 在安卓。应用程序。活动performCreate(Activity.java:6237) 在安卓。应用程序。仪器仪表。callActivityOnCreate(Instrumentation.java:1107)
图像的整数数组
Integer[] imageIDs = {
R.drawable.image1,
R.drawable.image2,
.
.
.
}
共享按钮代码片段
// Here, I am getting images from the Integer array I created
bitmap = BitmapFactory.decodeResource(getResources(),imageIDs[i]);
File filepath = Environment.getExternalStorageDirectory();
// Creates new folder with name "MyFolder"
File dir = new File(filepath.getAbsolutePath() + "/MyFolder/");
dir.mkdirs();
// Image saves with the following name
File file = new File(dir, "myimg.png");
“设置为”按钮代码片段
// Here, I am getting images from the Integer array I created
bitmap = BitmapFactory.decodeResource(getResources(),imageIDs[i]);
Rest code I added from the following thread on Stack Overflow:
http://stackoverflow.com/a/11096164
Here, I have added the following path:
String absolutepath="/storage/emulated/0/MyFolder/myimg.png";
共 (0) 个答案