Android 页面跳转,前面一个页面都销毁了,导致报错

在小米9手机上,一个简单的从A页面选择照片裁剪功能出现异常,提示“保存时发生错误,保存失败”。问题在于裁剪图片时提供的保存路径包含null,原因是A页面在跳转到选择相册时被销毁,所有成员变量清空。关闭开发者选项中的“不保留活动”解决了此问题,但实际应用中应在onSaveInstanceState保存必要数据,并在onCreate恢复,以确保用户体验不受影响。此外,博主分享了个人年度总结,提到学习Kotlin并享受慢生活。
摘要由CSDN通过智能技术生成

问题描述:A页面有个按钮,选择图库照片裁剪,然后显示出来,一个简单的功能,在一个小米9的手机上报错。裁剪照片一直提示:"保存时发生错误,保存失败"

问题分析:首先这个提示是系统给出的,所以是我们给系统一个错误的信息,导致系统给出了这样的提示。选择图片这一步肯定是没有错的,因为这一步我们没有给系统任何数据,应该裁剪图片时候出错了,因为在这一步,我们需要给一个裁剪的以后应该保存的路径,裁剪的代码为:

crop(data.getData(), getOutCropUri());

    private Uri getOutCropUri() {
      
        Debug.i(TAG, "preCroppedPath:" + preCroppedPath);

        File outFile = new File(preCroppedPath);
        File parentFile = outFile.getParentFile();
        if (parentFile != null) {
            if (!parentFile.exists()) {
                Debug.i(TAG, "getOutCropUri :parent: is not exists");
                parentFile.mkdirs();
            }
        }
        return Uri.fromFile(outFile);
    }

 
private void crop(Uri inUri, Uri outUri) {
        if (inUri &#
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值