Intent 意图
导航去别的activity
Intent intent = new Intent(this, Activity2.class);
传递数据到别的activity
MainActivity.java 传递数据
Intent intent = new Intent(this, Activity2.class);
intent.putExtra("value","yangliwei is good!");
Activity2.java 接收数据
Intent intent = getIntent();
String value = intent.getStringExtra("value");
Log.i("A2", "onCreate: "+value);
返回主页并传递数据
Activity2.java 一个按钮点击关闭并传递数据
Button button = findViewById(R.id.backBtn);
button.setOnClickListener((v -> {
Intent intent = new Intent();
intent.putExtra("back","yes");
setResult(RESULT_OK,intent);
finish();
}));
MainActivity.java 主页接受数据
//去activity的时候要加一句话
//startActivityForResult(intent,1);
Button testBtn = findViewById(R.id.testBtn);
testBtn.setOnClickListener((View) -> {
Intent intent = new Intent(this, Activity2.class);
intent.putExtra("value","yangliwei is good!");
startActivityForResult(intent,1);
// startActivity(intent);
});
//然后在类里面重写onActivityResult方法
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode) {
case 1:
if (resultCode == RESULT_OK) {
String back = data.getStringExtra("back");
Log.i("Main", "onActivityResult: " + back);
}
break;
}
}
Intent 拍照并显示
private final int CAMERA_REQUEST = 10;
//点击
testBtn.setOnClickListener((View) -> {
Intent intent = new Intent();
intent.setAction(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent,CAMERA_REQUEST);
});
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode) {
case CAMERA_REQUEST:
if(resultCode == RESULT_OK){
Bitmap bitmap = (Bitmap) data.getExtras().get("data");
imageView.setImageBitmap(bitmap);
}
break;
}
}