- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在我的应用程序中,用户可以拍照或将照片添加到应用程序中。当应用程序尝试在 ImageView 中显示保存的图像时,我收到 java.lang.SecurityException 的崩溃报告
出错的行是
holder.imageV.setImageURI(uriParsed);
我自己无法在我的设备或模拟器上复制该错误,它们都可以正常显示图像。
我正在使用的完整代码是
JoinProjectPicture projectPicture = mProjects.get(position);
Project current = projectPicture.getProject();
Picture picture = projectPicture.getPicture();
holder.projectName.setText(current.getProjectName() + "(" + current.getWidth() + "x" + current.getHeight() + ")");
holder.projectStatusTV.setText(current.getStatus());
if(picture != null) {
String pictureName = picture.getPictureName();
Uri uriParsed = Uri.parse(pictureName);
if(uriParsed != null) {
Log.d("URIParsed", "Project: " + current.getProjectName() + " - Parsed: " + uriParsed);
holder.imageV.setImageURI(uriParsed);
}
}
我的设备上显示的日志输出(3 个项目,其中一个没有图像)
Project: Test - Parsed: file:///storage/emulated/0/Android/data/com.desbrina.diamondpaintinglogbook/files/Pictures/20191111_1408166491573472523237896.jpg
Project: Test 3 - Parsed: content://com.android.providers.media.documents/document/image%3A1891
错误
java.lang.SecurityException:
at android.os.Parcel.createException (Parcel.java:1966)
at android.os.Parcel.readException (Parcel.java:1934)
at android.os.Parcel.readException (Parcel.java:1884)
at android.app.IActivityManager$Stub$Proxy.getContentProvider (IActivityManager.java:4039)
at android.app.ActivityThread.acquireProvider (ActivityThread.java:6365)
at android.app.ContextImpl$ApplicationContentResolver.acquireUnstableProvider (ContextImpl.java:2825)
at android.content.ContentResolver.acquireUnstableProvider (ContentResolver.java:1835)
at android.content.ContentResolver.openTypedAssetFileDescriptor (ContentResolver.java:1449)
at android.content.ContentResolver.openAssetFileDescriptor (ContentResolver.java:1302)
at android.content.ContentResolver.openAssetFileDescriptor (ContentResolver.java:1225)
at android.graphics.ImageDecoder$ContentResolverSource.createImageDecoder (ImageDecoder.java:273)
at android.graphics.ImageDecoder.decodeDrawableImpl (ImageDecoder.java:1652)
at android.graphics.ImageDecoder.decodeDrawable (ImageDecoder.java:1645)
at android.widget.ImageView.getDrawableFromUri (ImageView.java:952)
at android.widget.ImageView.resolveUri (ImageView.java:921)
at android.widget.ImageView.setImageURI (ImageView.java:532)
at android.support.v7.widget.AppCompatImageView.setImageURI (AppCompatImageView.java:116)
at com.desbrina.diamondpaintinglogbook.ui.main.Adapters.ProjectListAdapter.onBindViewHolder (ProjectListAdapter.java:88)
at com.desbrina.diamondpaintinglogbook.ui.main.Adapters.ProjectListAdapter.onBindViewHolder (ProjectListAdapter.java:23)
at android.support.v7.widget.RecyclerView$Adapter.onBindViewHolder (RecyclerView.java:6781)
at android.support.v7.widget.RecyclerView$Adapter.bindViewHolder (RecyclerView.java:6823)
at android.support.v7.widget.RecyclerView$Recycler.tryBindViewHolderByDeadline (RecyclerView.java:5752)
at android.support.v7.widget.RecyclerView$Recycler.tryGetViewHolderForPositionByDeadline (RecyclerView.java:6019)
at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition (RecyclerView.java:5858)
at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition (RecyclerView.java:5854)
at android.support.v7.widget.LinearLayoutManager$LayoutState.next (LinearLayoutManager.java:2230)
at android.support.v7.widget.LinearLayoutManager.layoutChunk (LinearLayoutManager.java:1557)
at android.support.v7.widget.LinearLayoutManager.fill (LinearLayoutManager.java:1517)
at android.support.v7.widget.LinearLayoutManager.onLayoutChildren (LinearLayoutManager.java:612)
at android.support.v7.widget.RecyclerView.dispatchLayoutStep2 (RecyclerView.java:3924)
at android.support.v7.widget.RecyclerView.dispatchLayout (RecyclerView.java:3641)
at android.support.v7.widget.RecyclerView.onLayout (RecyclerView.java:4194)
at android.view.View.layout (View.java:22406)
at android.view.ViewGroup.layout (ViewGroup.java:6594)
at android.support.constraint.ConstraintLayout.onLayout (ConstraintLayout.java:1915)
at android.view.View.layout (View.java:22406)
at android.view.ViewGroup.layout (ViewGroup.java:6594)
at android.support.v4.view.ViewPager.onLayout (ViewPager.java:1775)
at android.view.View.layout (View.java:22406)
at android.view.ViewGroup.layout (ViewGroup.java:6594)
at android.widget.LinearLayout.setChildFrame (LinearLayout.java:1812)
at android.widget.LinearLayout.layoutVertical (LinearLayout.java:1656)
at android.widget.LinearLayout.onLayout (LinearLayout.java:1565)
at android.view.View.layout (View.java:22406)
at android.view.ViewGroup.layout (ViewGroup.java:6594)
at android.widget.FrameLayout.layoutChildren (FrameLayout.java:323)
at android.widget.FrameLayout.onLayout (FrameLayout.java:261)
at android.view.View.layout (View.java:22406)
at android.view.ViewGroup.layout (ViewGroup.java:6594)
at android.widget.LinearLayout.setChildFrame (LinearLayout.java:1812)
at android.widget.LinearLayout.layoutVertical (LinearLayout.java:1656)
at android.widget.LinearLayout.onLayout (LinearLayout.java:1565)
at android.view.View.layout (View.java:22406)
at android.view.ViewGroup.layout (ViewGroup.java:6594)
at android.widget.FrameLayout.layoutChildren (FrameLayout.java:323)
at android.widget.FrameLayout.onLayout (FrameLayout.java:261)
at android.view.View.layout (View.java:22406)
at android.view.ViewGroup.layout (ViewGroup.java:6594)
at android.widget.LinearLayout.setChildFrame (LinearLayout.java:1812)
at android.widget.LinearLayout.layoutVertical (LinearLayout.java:1656)
at android.widget.LinearLayout.onLayout (LinearLayout.java:1565)
at android.view.View.layout (View.java:22406)
at android.view.ViewGroup.layout (ViewGroup.java:6594)
at android.widget.FrameLayout.layoutChildren (FrameLayout.java:323)
at android.widget.FrameLayout.onLayout (FrameLayout.java:261)
at com.android.internal.policy.DecorView.onLayout (DecorView.java:1088)
at android.view.View.layout (View.java:22406)
at android.view.ViewGroup.layout (ViewGroup.java:6594)
at android.view.ViewRootImpl.performLayout (ViewRootImpl.java:3417)
at android.view.ViewRootImpl.performTraversals (ViewRootImpl.java:2884)
at android.view.ViewRootImpl.doTraversal (ViewRootImpl.java:1932)
at android.view.ViewRootImpl$TraversalRunnable.run (ViewRootImpl.java:8589)
at android.view.Choreographer$CallbackRecord.run (Choreographer.java:949)
at android.view.Choreographer.doCallbacks (Choreographer.java:761)
at android.view.Choreographer.doFrame (Choreographer.java:696)
at android.view.Choreographer$FrameDisplayEventReceiver.run (Choreographer.java:935)
at android.os.Handler.handleCallback (Handler.java:873)
at android.os.Handler.dispatchMessage (Handler.java:99)
at android.os.Looper.loop (Looper.java:214)
at android.app.ActivityThread.main (ActivityThread.java:7094)
at java.lang.reflect.Method.invoke (Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:494)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:975)
Caused by: android.os.RemoteException:
at com.android.server.am.ActivityManagerService.getContentProviderImpl (ActivityManagerService.java:15677)
at com.android.server.am.ActivityManagerService.getContentProviderImpl (ActivityManagerService.java:15586)
at com.android.server.am.ActivityManagerService.getContentProvider (ActivityManagerService.java:16151)
at android.app.IActivityManager$Stub.onTransact$getContentProvider$ (IActivityManager.java:11035)
at android.app.IActivityManager$Stub.onTransact (IActivityManager.java:295)
最佳答案
我认为您在 Android Pie 或更高版本的操作系统上遇到了安全异常。这是因为在这些系统上,您必须声明您的应用程序想要使用的路径。
请检查:https://developer.android.com/reference/android/support/v4/content/FileProvider
此外,您的应用可能正在尝试从另一个需要权限的应用获取内容,例如 Google 相册需要:<uses-permission android:name="com.google.android.apps.photos.permission.GOOGLE_PHOTOS"/>
关于Java android 安全异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58891829/
我正在学习 Spring 安全性,但我对它的灵活性感到困惑.. 我知道我可以通过在标签中定义规则来保护网址 然后我看到有一个@secure 注释可以保护方法。 然后还有其他注释来保护域(或 POJO)
假设有一个 key 加密 key 位于内存中并且未写入文件或数据库... byte[] kek = new byte[32]; secureRandom.nextBytes(kek); byte[]
我有 Spring Security 3.2.0 RC1 的问题 我正在使用标签来连接我 这表示“方法‘setF
我正在创建一个使用 Node Js 服务器 API 的 Flutter 应用程序。对于授权,我决定将 JWT 与私钥/公钥一起使用。服务器和移动客户端之间的通信使用 HTTPS。 Flutter 应用
在过去的几年里,我一直在使用范围从 Raphael.js 的 javascript 库。至 D3 ,我已经为自己的教育操纵了来自网络各地的动画。我已经从各种 git 存储库下载了 js 脚本,例如 s
在 python 中实现身份验证的好方法是什么?已经存在的东西也很好。我需要它通过不受信任的网络连接进行身份验证。它不需要太高级,只要足以安全地获取通用密码即可。我查看了 ssl 模块。但那个模块让我
我正在尝试学习“如何在 Hadoop 中实现 Kerberos?”我已经看过这个文档 https://issues.apache.org/jira/browse/HADOOP-4487我还了解了基本的
我有一个带有 apache2、php、mysql 的生产服务器。我现在只有一个站点 (mysite.com) 作为虚拟主机。我想把 phpmyadmin、webalizer 和 webmin 放在那里
前些天在网上看到防火墙软件OPNsense,对其有了兴趣,以前写过一个其前面的一个软件M0n0wall( 关于m0n0wa
我在 Spring Boot 和 oauth2(由 Google 提供)上编写了 rest 后端,在 "/login" 上自动重定向。除了 web 的 oauth 之外,我还想在移动后端进行 Fire
我想调用类 Foo,它的构造函数中有抽象类 Base。我希望能够从派生自 Base 的 Derived 调用 Foo 并使用 Derived覆盖方法而不是 Base 的方法。 我只能按照指示使用原始指
如何提高 session 的安全性? $this->session->userdata('userid') 我一直在为我的 ajax 调用扔掉这个小坏蛋。有些情况我没有。然后我想,使用 DOM 中的
我目前正在为某些人提供程序集编译服务。他们可以在在线编辑器中输入汇编代码并进行编译。然后编译它时,代码通过ajax请求发送到我的服务器,编译并返回程序的输出。 但是,我想知道我可以做些什么来防止对服务
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the he
目前,我通过将 session 中的 key 与 MySQl 数据库中的相同 key 相匹配来验证用户 session 。我使用随机数重新生成 session ,该随机数在每个页面加载时都受 MD5
Microsoft 模式与实践团队提供了一个很棒的 pdf,称为:“构建安全的 asp.net 应用程序”。 microsoft pdf 由于它是为 .Net 1.0 编写的,所以现在有点旧了。有谁知
在 Lua 中,通常会使用 math.random 生成随机值和/或字符串。 & math.randomseed , 其中 os.time用于 math.randomseed . 然而,这种方法有一个
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我们有一个严重依赖 Ajax 的应用程序。确保对服务器端脚本的请求不是通过独立程序而是通过坐在浏览器上的实际用户的好方法是什么 最佳答案 真的没有。 通过浏览器发送的任何请求都可以由独立程序伪造。 归
我正在寻找使用 WebSockets 与我们的服务器通信来实现 web (angular) 和 iPhone 应用程序。在过去使用 HTTP 请求时,我们使用请求数据、url、时间戳等的哈希值来验证和
我是一名优秀的程序员,十分优秀!