2

在我的应用程序中,我使用 startactivity 从图库中选择图像作为结果。我的代码如下

GALLERY.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub

            Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
            intent.setType("image/*");
            startActivityForResult(intent, 0 );

        }
    });

一切正常,但问题是,当我在图库中按下后退按钮时,我的应用程序将关闭并返回主屏幕。对于正常活动,有一个名为 OnbackPressed 的方法来处理后退按钮。但是我如何在 Gallery 活动中实现这一点。

4

4 回答 4

1

BackButton有两种处理方式

1)

@Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if (keyCode == KeyEvent.KEYCODE_BACK) {
            // Do Some thing Here
            return false;
        }
        return super.onKeyDown(keyCode, event);
    }

2)

    @Override
    public void onBackPressed() {
        // Do Some thing Here
        super.onBackPressed();

}
于 2013-10-11T05:32:04.833 回答
0

您需要使用 ACTION_PICK 意图:

    Intent intentImage = new Intent(Intent.ACTION_PICK,android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);startActivityForResult(intentImage, RESULT_LOAD_IMAGE);


    @Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode) {
    case RESULT_LOAD_IMAGE:
        if (resultCode == RESULT_OK && null != data) {
               Uri selectedImage = data.getData();
               String[] filePathColumn = { MediaStore.Images.Media.DATA };
               Cursor cursor = getContentResolver().query(selectedImage,filePathColumn, null, null, null);
               cursor.moveToFirst();
               int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
               Path = cursor.getString(columnIndex);
               setImage(Path);
               Toast.makeText(this, "File Clicked: "+picturePath, Toast.LENGTH_SHORT).show();
               cursor.close();
           }  
        break;
于 2013-12-12T11:23:07.473 回答
0

请先处理结果代码再处理请求代码

if (resultCode == Activity.RESULT_OK && requestCode == REQUEST_FROM_CAMERA) {
    //your code
} 
于 2018-04-16T07:22:04.180 回答
0

围绕意图进行尝试和捕捉帮助了我。如果有异常,比如按下后退按钮,我打算回到我之前的活动。

于 2017-06-21T17:33:48.050 回答