在某些设备中始终从片段中选取图像 return resultcode 0
Pick image from fragment always return resultcode 0 in some devices
我试图从图库中选择一张图片并将位图设置到我的图像视图中,但我遇到了一个问题:在我的设备上运行良好,但在其他设备上不起作用。
我在我的片段中启动图像选择器如下:
Intent photoPickerIntent = new Intent(Intent.ACTION_PICK); photoPickerIntent.setType("image/*");
startActivityForResult(photoPickerIntent, SELECT_PHOTO);
这是我的 onActivityResult
:
@Override
public void onActivityResult(int requestCode, int resultCode, Intent imageReturnedIntent) {
super.onActivityResult(requestCode, resultCode, imageReturnedIntent);
Log.d("ResultCode",resultCode+"");
switch (requestCode) {
case SELECT_PHOTO:
if (resultCode == Activity.RESULT_OK) {
Uri selectedImage = imageReturnedIntent.getData();
try {
Bitmap imagen = decodeUri(selectedImage);
// Works on my device (because resultCode = RESULT_OK) but doesn't work in others (because resultCode = 0)
((ImageView) findViewById(R.id.myimage)).setImageBitmap(imagen);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
}
如果有任何帮助,我将不胜感激,我有点绝望。 x_x
我遇到过这个问题...非常有趣。可以通过三种不同的方式选择照片,正如您所说,由于某些原因,它并不总是在所有设备上都能正常工作。经过几个小时的折磨,我发现这一直有效:
Intent intent = new Intent();
intent.setAction(Intent.ACTION_GET_CONTENT);
intent.setType("image/*");
startActivityForResult(Intent.createChooser(intent,"whatever you want",1);
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data)
{
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode)
{
case 1:
if (resultCode == RESULT_OK)
{
Uri selectedImage = data.getData();
}
break;
}
}
我试图从图库中选择一张图片并将位图设置到我的图像视图中,但我遇到了一个问题:在我的设备上运行良好,但在其他设备上不起作用。
我在我的片段中启动图像选择器如下:
Intent photoPickerIntent = new Intent(Intent.ACTION_PICK); photoPickerIntent.setType("image/*");
startActivityForResult(photoPickerIntent, SELECT_PHOTO);
这是我的 onActivityResult
:
@Override
public void onActivityResult(int requestCode, int resultCode, Intent imageReturnedIntent) {
super.onActivityResult(requestCode, resultCode, imageReturnedIntent);
Log.d("ResultCode",resultCode+"");
switch (requestCode) {
case SELECT_PHOTO:
if (resultCode == Activity.RESULT_OK) {
Uri selectedImage = imageReturnedIntent.getData();
try {
Bitmap imagen = decodeUri(selectedImage);
// Works on my device (because resultCode = RESULT_OK) but doesn't work in others (because resultCode = 0)
((ImageView) findViewById(R.id.myimage)).setImageBitmap(imagen);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
}
如果有任何帮助,我将不胜感激,我有点绝望。 x_x
我遇到过这个问题...非常有趣。可以通过三种不同的方式选择照片,正如您所说,由于某些原因,它并不总是在所有设备上都能正常工作。经过几个小时的折磨,我发现这一直有效:
Intent intent = new Intent();
intent.setAction(Intent.ACTION_GET_CONTENT);
intent.setType("image/*");
startActivityForResult(Intent.createChooser(intent,"whatever you want",1);
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data)
{
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode)
{
case 1:
if (resultCode == RESULT_OK)
{
Uri selectedImage = data.getData();
}
break;
}
}