我开始打算从图库中选择一张图片,但意图始终返回结果代码RESULT_CANCELED。我已经尝试了很多不同的代码,但没有任何帮助让我想到也许我错过了一些东西,比如在Android清单中放入一些东西?
我的代码:
// The Intent
Intent intent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(intent, 0);
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK){
Uri targetUri = data.getData();
Bitmap bitmap;
try {
bitmap = BitmapFactory.decodeStream(getContentResolver().openInputStream(targetUri));
profileImage.setImageBitmap(bitmap);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
会感激一些帮助;)
答案 0 :(得分:16)
好的,所以我解决了这个问题。我的问题是在Gallery Intent完成之前调用了onActivityResult()方法。我在这里找到了溶剂:onActivityResult() called prematurely
基本上,我在清单中将活动指定为“singleTask”。 将它改为“singleTop”解决了它。
答案 1 :(得分:1)
这救了我的命! \ 0 /
机器人:launchMode =" singleTop"