我正在使用具有OS Android 5.1.1的Motorola G3设备.
当我试图从图库中选择一张图片并将其设置为ImageVIEw时,我会遇到异常.以下是我的代码:
@OverrIDe protected voID onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); String selectedImageUri = getimageFromChooser(requestCode, resultCode, data); if (!selectedImageUri.equals("")) { Uri filePath = data.getData(); try { Bitmap bitmap = BitmapFactory.decodefile(selectedImageUri); ivAvatar.setimageBitmap(Bitmap.createScaledBitmap(bitmap, 120, 120, false)); } catch (Exception e) { e.printstacktrace(); } } else { Toast.makeText(getApplicationContext(), "Try Again!", Toast.LENGTH_LONG).show(); }}
我已经调试了代码,并且知道URI正在正常运行,问题是初始化Bitmap对象.
在这里,我有一个例外:
请有人帮我解决这个问题:
01-01 12:12:16.074 27143-27143/com.wavi E/UploadItemActivity: IDx :: 001-01 12:12:16.074 27143-27143/com.wavi E/selectedImageURI:ImagePhoto:-/storage/emulated/0/Pictures/1451279699474.jpg01-01 12:12:16.076 27143-27143/com.wavi E/UploadItemActivity: Image Pathe :: /storage/emulated/0/Pictures/1451279699474.jpg01-01 12:12:16.078 27143-27143/com.wavi E/BitmapFactory: Unable to decode stream: java.io.fileNotFoundException: /storage/emulated/0/Pictures/1451279699474.jpg: open Failed: EACCES (Permission denIEd)01-01 12:12:16.078 27143-27143/com.wavi W/System.err: java.lang.NullPointerException: Attempt to invoke virtual method 'int androID.graphics.Bitmap.getWIDth()' on a null object reference01-01 12:12:16.082 27143-27143/com.wavi W/System.err: at androID.graphics.Bitmap.createScaledBitmap(Bitmap.java:617)01-01 12:12:16.082 27143-27143/com.wavi W/System.err:at com.wavi.profile.EditProfileActivity.onActivityResult(EditProfileActivity.java:201)01-01 12:12:16.082 27143-27143/com.wavi W/System.err:at androID.app.Activity.dispatchActivityResult(Activity.java:6218)01-01 12:12:16.082 27143-27143/com.wavi W/System.err:at androID.app.ActivityThread.deliverResults(ActivityThread.java:3655)01-01 12:12:16.082 27143-27143/com.wavi W/System.err:at androID.app.ActivityThread.handleSendResult(ActivityThread.java:3702)01-01 12:12:16.082 27143-27143/com.wavi W/System.err:at androID.app.ActivityThread.access00(ActivityThread.java:155)01-01 12:12:16.082 27143-27143/com.wavi W/System.err:at androID.app.ActivityThread$H.handleMessage(ActivityThread.java:1366)01-01 12:12:16.082 27143-27143/com.wavi W/System.err:at androID.os.Handler.dispatchMessage(Handler.java:102)01-01 12:12:16.082 27143-27143/com.wavi W/System.err:at androID.os.Looper.loop(Looper.java:135)01-01 12:12:16.082 27143-27143/com.wavi W/System.err:at androID.app.ActivityThread.main(ActivityThread.java:5343)01-01 12:12:16.082 27143-27143/com.wavi W/System.err:at java.lang.reflect.Method.invoke(Native Method)01-01 12:12:16.082 27143-27143/com.wavi W/System.err:at java.lang.reflect.Method.invoke(Method.java:372)01-01 12:12:16.082 27143-27143/com.wavi W/System.err:at com.androID.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:907)01-01 12:12:16.082 27143-27143/com.wavi W/System.err:at com.androID.internal.os.ZygoteInit.main(ZygoteInit.java:702)
谢谢!
解决方法:
它显然写在你的logcat权限被拒绝,你需要在你的清单中给予READ权限.
<uses-permission androID:name="androID.permission.READ_EXTERNAL_STORAGE" />
总结 以上是内存溢出为你收集整理的java – 从Gallary中选择的图像不会在ImageView中设置全部内容,希望文章能够帮你解决java – 从Gallary中选择的图像不会在ImageView中设置所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)