Android 拍照完确认的时候 onActivityResult()没有执行,但是取消的时候会调用。有的手机可以,但是华为的手机好像就没有执行
1条回答 默认 最新
你知我知皆知 2024-08-02 12:42关注以下回答参考 皆我百晓生、券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。
在 Android 中,
onActivityResult()方法用于处理 Activity 的结果回调,包括成功和失败两种情况。在使用
CameraActivity或者MediaStore获取图片时,如果没有调用setResult()方法来设置结果状态(例如:RESULT_OK),那么在用户点击返回键或退出应用后,onActivityResult()方法不会被调用。以下是一个简单的示例:
Intent intent = new Intent(); intent.putExtra("image", image); // 将图像数据作为额外参数传递给结果意图 startActivityForResult(intent, REQUEST_CODE);在这个例子中,我们通过
startActivityForResult()方法启动了一个活动,并设置了请求码REQUEST_CODE。当活动完成并返回结果时,我们将从getIntent()返回的结果中获取到图像数据。在
onActivityResult()方法中,我们可以检查requestCode参数是否与我们的请求码相匹配,并根据需要进行相应的操作。如果requestCode与我们的请求码匹配,那么我们可以从getIntent().getExtras()中获取图像数据,并将其存储起来或者展示出来。@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == REQUEST_CODE && resultCode == RESULT_OK) { Bundle extras = data.getExtras(); Bitmap bitmap = (Bitmap) extras.get("data"); // 在这里处理得到的图像 } }注意:这个示例假设你的
onActivityResult()方法已经正确地实现了,即它能够接受来自startActivityForResult()方法的返回值,并将它们存储在getIntent().getExtras()中。如果你的onActivityResult()方法存在问题,请确保你已经修复了这些问题。此外,如果想要在应用退出时自动保存图片,你可以考虑使用
SharedPreferences来存储图像路径。这样,即使应用关闭,这些信息也不会丢失。解决 无用评论 打赏 举报