gpt4 book ai didi

Android 4.2 Lockscreen Widget 图像位图无法加载

转载 作者:太空狗 更新时间:2023-10-29 15:14:47 29 4
gpt4 key购买 nike

我正在尝试在 Android 4.2 锁屏上启用我的应用程序中的小部件,它工作正常,但它无法解析任何图像 uri。我得到的错误是这样的:

java.io.FileNotFoundException: /storage/emulated/0/Android/data/com.tvshowfavs/cache/22kifo7sdmyet7x7kphdgch69: open failed: EACCES (Permission denied)
at libcore.io.IoBridge.open(IoBridge.java:416)
at java.io.FileInputStream.<init>(FileInputStream.java:78)
at java.io.FileInputStream.<init>(FileInputStream.java:105)
at android.content.ContentResolver.openInputStream(ContentResolver.java:447)
at android.widget.ImageView.resolveUri(ImageView.java:636)
at android.widget.ImageView.setImageURI(ImageView.java:381)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at android.widget.RemoteViews$ReflectionAction.apply(RemoteViews.java:1146)
at android.widget.RemoteViews.performApply(RemoteViews.java:2304)
at android.widget.RemoteViews.apply(RemoteViews.java:2263)
at android.widget.RemoteViewsAdapter$RemoteViewsFrameLayout.onRemoteViewsLoaded(RemoteViewsAdapter.java:286)
at android.widget.RemoteViewsAdapter$RemoteViewsFrameLayoutRefSet.notifyOnRemoteViewsLoaded(RemoteViewsAdapter.java:335)
at android.widget.RemoteViewsAdapter$4.run(RemoteViewsAdapter.java:993)
at android.os.Handler.handleCallback(Handler.java:725)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.os.HandlerThread.run(HandlerThread.java:60)
Caused by: libcore.io.ErrnoException: open failed: EACCES (Permission denied)
at libcore.io.Posix.open(Native Method)
at libcore.io.BlockGuardOs.open(BlockGuardOs.java:110)
at libcore.io.IoBridge.open(IoBridge.java:400)

有人知道为什么它无法打开存储在模拟存储中的图像吗?此图像之前已使用 Environment.getExternalStorageDirectory() 下载和缓存,因此应将其正确写入存储目录。这是在 Nexus 10 上,当尝试加载任何图像时我收到此异常。感谢您的帮助。

最佳答案

好吧,我想出了问题。我正在使用 RemoteView 方法 setImageUri(),它看起来好像不起作用,因为不同的进程无法访问该文件。解决方案是使用 setImageViewBitmap() 并自行解码位图,例如:BitmapFactory.decodeFile(Uri.parse(uri).getPath())

我觉得奇怪的是,setImageUri() 在启动器上工作正常,但在锁屏上却不行。

关于Android 4.2 Lockscreen Widget 图像位图无法加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13596778/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com