在我的简单 Activity 中,我启动了图像选择。
在选择的结果上我想显示图像。
但调试时我看到 resultCode == RESULT_OK
不是 true
。
我在这里做错了什么???
public class PictureActivity extends Activity {
private static final int SELECT_PICTURE = 1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent intent = new Intent();
intent.setAction(Intent.ACTION_GET_CONTENT);
intent.setType("image/*");
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivityForResult(intent, SELECT_PICTURE);
}
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == RESULT_OK) {
if (requestCode == SELECT_PICTURE) {
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.setType("image/*");
intent.setData(data.getData());
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
}
}
}
}
最佳答案
这是因为:
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
来自文档:http://developer.android.com/reference/android/content/Intent.html#FLAG_ACTIVITY_NEW_TASK
“当调用者请求正在启动的 Activity 的结果时,不能使用此标志。”
关于android - 用于选择图像的 startActivityForResult(),为什么我没有得到 RESULT_OK?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20549833/