Android:应用程序在从库中选择图像时结束

时间:2015-08-12 17:05:34

标签: android android-intent

我正在实施一项功能,使用户可以点击按钮从图库中选择自己的个人资料图片。

  1. 这是在onCreate方法下实现的部分,用于调用意图从图库中选择图像。

    btnChooseProfile.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent intent = new Intent();
            intent.setType("image/*");
            intent.setAction(Intent.ACTION_GET_CONTENT);
            startActivityForResult(Intent.createChooser(intent, "Select Image"), REQ_CODE_SELECT_IMAGE);
        }
    });
    
  2. 现在我重写了onActivityResult方法,将所选图像设置为imageview。

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    
    if(requestCode == REQ_CODE_SELECT_IMAGE && resultCode == Activity.RESULT_OK) {
        try {
            ivProfile.setImageURI(data.getData());
        } catch(Exception e) {
            e.printStackTrace();
        }
    }
    

    }

  3. 在运行应用程序并测试此部分时,我设法到达了库,但就是这样。单击图像时,应用程序将会出现,而在Logcat上不会留下任何错误消息。

    你认为片段有什么问题?

2 个答案:

答案 0 :(得分:0)

删除" &安培;&安培; resultCode == Activity.RESULT_OK"从if条件。你会得到你的解决方案。但这种方式并不合适。如果你愿意,可以这样。

答案 1 :(得分:0)

我只是傻到想念它

在Androidmanifest.xml文件中,我将此属性添加到活动中。

android:noHistory="true"

由于此属性,当我选择从图库中选择图像时,活动将更改为另一个图像,并且原始图像已从堆栈中删除。因此,在选择图像后,应用程序无法找到返回的位置,这就是我的应用程序崩溃的原因。

现在我删除了该属性,代码工作正常。