onActivityResult 用法记录

需要跳转的activity调用startActivityForResult(Intent intent);
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (requestCode == ORDERPAY_REMARK_REQUEST && data != null) {
        String remark = data.getStringExtra("remark");
        tvOrderpayRemark.setText(remark);
        this.remark = remark;
    }
}
返回的activity的界面

  如果没有数据需要传回原来的activity就不用new Intent了

Intent tencentPoiIntent = new Intent();
Bundle bundle = new Bundle();
bundle.putString("addressName", resultData.title);
bundle.putDouble("lat", resultData.location.lat);
bundle.putDouble("lng", resultData.location.lng);
tencentPoiIntent.putExtras(bundle);
setResult(CodeManager.ADDRESS_SEARCH_REQUEST, tencentPoiIntent);
package com.example.cameraapplication; import android.app.ComponentCaller; import android.content.Intent; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.net.Uri; import android.os.Build; import android.os.Bundle; import android.provider.MediaStore; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.ImageView; import androidx.activity.EdgeToEdge; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.appcompat.app.AppCompatActivity; import androidx.core.content.FileProvider; import androidx.core.graphics.Insets; import androidx.core.view.ViewCompat; import androidx.core.view.WindowInsetsCompat; import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; public class MainActivity extends AppCompatActivity { private static final int TAKE_PHOTO = 1; private ImageView picture; private Uri imageUri; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); EdgeToEdge.enable(this); setContentView(R.layout.activity_main); Button take_pic = (Button) findViewById(R.id.take_photo); picture = (ImageView) findViewById(R.id.picture); take_pic.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { File outputimage = new File(getExternalCacheDir(),"outputimage.jpg"); try { if(outputimage.exists()){ outputimage.delete(); } outputimage.createNewFile(); } catch (IOException e) { throw new RuntimeException(e); } if(Build.VERSION.SDK_INT >= 24){ imageUri = FileProvider.getUriForFile(MainActivity.this,"com.example.cameraapplication.provider",outputimage); } else { imageUri = Uri.fromFile(outputimage); } Intent intent = new Intent("android.media.action.IMAGE_CAPTURE"); intent.putExtra(MediaStore.EXTRA_OUTPUT,imageUri); startActivityForResult(intent,TAKE_PHOTO); Log.d("cmap", "take_photo"); } }); } @Override public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data, @NonNull ComponentCaller caller) { //super.onActivityResult(requestCode, resultCode, data, caller); Log.d("cmap", "onActivityResult"); if(requestCode == TAKE_PHOTO){ try { Bitmap bitmap = BitmapFactory.decodeStream(getContentResolver().openInputStream(imageUri)); Log.d("cmap", "get_photo"); picture.setImageBitmap(bitmap); Log.d("cmap", "set_photo"); } catch (FileNotFoundException e) { throw new RuntimeException(e); } } } }onActivityResult方法不执行的原因
最新发布
07-26
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值