startActivityForResult()用于选择图像,为什么我没有得到RESULT_OK?

 昙檀禅潺_162 发布于 2023-02-11 11:17

在我的简单活动中,我启动了一个图像的选择.

在选择的结果我想显示图像.

但调试我发现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);
        }
    }
}
}

NigelK.. 5

这是因为:

intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

从文档:http://developer.android.com/reference/android/content/Intent.html#FLAG_ACTIVITY_NEW_TASK

"当调用者从正在启动的活动请求结果时,不能使用此标志."

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有