救我,困扰了好多天了,为啥onActivitityResulty不执行?
代码如下
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();
}
}
}
}
你方法名都写错了,你这个方法都不是重写的,当然不会执行了。重写的方法最好加上 @Override注解,这样如果写的有问题,ide会提示你的。另外可以通过ctrl+o快捷重写方法,就不容易写错了