700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 小米部分手机在相册或相机拍照裁剪图片时 出现错误问题

小米部分手机在相册或相机拍照裁剪图片时 出现错误问题

时间:2023-11-13 14:06:29

相关推荐

小米部分手机在相册或相机拍照裁剪图片时 出现错误问题

小米部分手机在相册或相机拍照裁剪图片时,出现错误问题 Unable to load resource 0x00000000 from pkg=com.android.systemui

报错型号:Mi Note3 7.1.2(不过7.1.1没问题)、Max2 7.1.1

打印日志信息:

03-27 15:28:06.602 1789-1789/? E/Icon: Unable to load resource 0x00000000 from pkg=com.android.systemuiandroid.content.res.Resources$NotFoundException: Resource ID #0x0at android.content.res.ResourcesImpl.getValue(ResourcesImpl.java:201)at android.content.res.MiuiResourcesImpl.getValue(MiuiResourcesImpl.java:94)at android.content.res.Resources.getDrawable(Resources.java:788)at android.graphics.drawable.Icon.loadDrawableInner(Icon.java:316)at android.graphics.drawable.Icon.loadDrawable(Icon.java:272)at android.graphics.drawable.Icon.loadDrawableAsUser(Icon.java:380)at com.android.systemui.statusbar.ExpandedIcon.getDrawable(ExpandedIcon.java:59)at com.android.systemui.statusbar.StatusBarIconView.getIcon(StatusBarIconView.java:188)at com.android.systemui.statusbar.StatusBarIconView.setIcon(StatusBarIconView.java:141)at com.android.systemui.statusbar.StatusBarIconView.updateDarkMode(StatusBarIconView.java:280)at com.android.systemui.statusbar.phone.SimpleStatusBar.updateDarkMode(SimpleStatusBar.java:293)at com.android.systemui.statusbar.phone.PhoneStatusBar$23.run(PhoneStatusBar.java:4124)at android.os.Handler.handleCallback(Handler.java:754)at android.os.Handler.dispatchMessage(Handler.java:95)at android.os.Looper.loop(Looper.java:163)at android.app.ActivityThread.main(ActivityThread.java:6372)at java.lang.reflect.Method.invoke(Native Method)at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:901)at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:791)

原因:小米miui系统默认的裁剪图片可能裁剪得过大,或对return-data分配的资源不足,造成return-data失败。

解决思路:裁剪后,intent保存图片的资源路径Uri,在onActivityResult()方法中,再提取对应的Uri图片资源转换为Bitmap使用。

在裁剪的方法中

去掉:

intent.putExtra("return-data", true);//将图片以data形式传入intent,图片过大时就会有问题

改成:

uriCutImg = Uri.parse("file://" + "/" + Environment.getExternalStorageDirectory().getPath() + "/" + "small.jpg");intent.putExtra(MediaStore.EXTRA_OUTPUT, uriCutImg); //将裁剪好图片,存进该URI中

在onActivityResult方法中

Bitmap bmap = null;try {bmap = BitmapFactory.decodeStream(getContentResolver().openInputStream(uriCutImg));//通过URI获得的图片} catch (FileNotFoundException e) {e.printStackTrace();}

参考原文地址:/eclothy/article/details/42719217

还发现比较有趣的地方,当时还以为是后台返回提示信息有问题:

小米最新版本的MIUI V9.5.4.0稳定版,用到Toast时,系统会自动加上应用名和冒号

如:微信保存图片成功时提示,微信:+保存路径

所以,使用Intent传递参数时,不管是图片还是其他类型文件,直接把大的数据作为了参数进行传递都要,注意,注意,注意

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。