为啥onActivitityResulty不执行

救我,困扰了好多天了,为啥onActivitityResulty不执行?

img

代码如下

package com.example.myapplication;

import androidx.appcompat.app.AppCompatActivity;

import android.app.Activity;
import android.content.Intent;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.provider.MediaStore;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

import java.io.IOException;

public class MainActivity extends AppCompatActivity implements View.OnClickListener{


    int CODE_ALBUM=001;//打开相册的识别码
    Button mButtonAlbum;
    Button mButtonCamera;
    Button mButtonRealtime;




    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        //通过视图中的id和对应的Button变量联系起来
        mButtonAlbum=(Button) findViewById(R.id.button_album);
        mButtonCamera=(Button) findViewById(R.id.button_camera);
        mButtonRealtime=(Button) findViewById(R.id.button_realtime);

        //设置监听
        mButtonAlbum.setOnClickListener(this);
        mButtonCamera.setOnClickListener(this);
        mButtonRealtime.setOnClickListener(this);
    }

    public void onClick(View v){

            if(v.getId()==R.id.button_album){
                //点击按钮后显示“打开相册”文字,显示时长为短“LENGTH_SHORT”
                Toast.makeText(this,"打开相册",Toast.LENGTH_SHORT).show();

                Intent chooseIntent=new Intent(Intent.ACTION_GET_CONTENT);//获取本地内容
                chooseIntent.setType("image/*");//设置内容为本地相册所有图片
                chooseIntent.addCategory(Intent.CATEGORY_OPENABLE);


                //跳转到新的页面,并且在跳转的新页面关闭之后,返回结果CODE_ALBUM
                startActivityForResult(chooseIntent,CODE_ALBUM);



            } else if (v.getId()==R.id.button_camera) {
                Toast.makeText(this,"打开相机",Toast.LENGTH_SHORT).show();

            } else if (v.getId()==R.id.button_realtime) {
                Toast.makeText(this,"实时监测",Toast.LENGTH_SHORT).show();

            }

        }


        //onActivityResult():通过对onActivity方法进行重写,用程序来处理子Activity的返回结果
        protected void onActivitityResult(int requestCode,int resultCode,Intent data){
            super.onActivityResult(requestCode,resultCode,data);

            if (requestCode==CODE_ALBUM){
                //跳转到DetectResultActivity.class对应的acitivity_detect_result页面
                Intent detect_result_activity = new Intent(this, DetectResultActivity.class);

                Bitmap mBitmap;

                try {
                    //获取相册中的图片
                    mBitmap= MediaStore.Images.Media.getBitmap(this.getContentResolver(),data.getData());

                    DataService instance=DataService.getInstance();
                    instance.setmBitmap(mBitmap);

                    setResult(Activity.RESULT_OK,detect_result_activity);
                    startActivity(detect_result_activity);


                } catch (IOException e) {
                    e.printStackTrace();
                }


            }

        }


}

img

你方法名都写错了,你这个方法都不是重写的,当然不会执行了。重写的方法最好加上 @Override注解,这样如果写的有问题,ide会提示你的。另外可以通过ctrl+o快捷重写方法,就不容易写错了