我正在使用安装有Android 5.1.1操作系统的Motorola G3设备。
当我尝试从图库选择一张图片并将其设置为ImageView时,出现异常。以下是我的代码:
我已经调试了代码并发现URI传递正确,问题出在Bitmap对象的初始化上。
以下是我收到的异常信息:
请有经验的人帮我解决这个问题。
当我尝试从图库选择一张图片并将其设置为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 :: 0
01-01 12:12:16.074 27143-27143/com.wavi E/selectedImageURI:ImagePhoto:-/storage/emulated/0/Pictures/1451279699474.jpg
01-01 12:12:16.076 27143-27143/com.wavi E/UploadItemActivity: Image Pathe :: /storage/emulated/0/Pictures/1451279699474.jpg
01-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 reference
01-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.access$1300(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)
谢谢你!