清理Intent文件URI

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了清理Intent文件URI相关的知识,希望对你有一定的参考价值。

我有一个android聊天应用程序,它接受各种可能的共享意图。我正在尝试强化我的应用程序中的文件URI的解析逻辑。例如,包含我的应用程序包名称的URI被过滤,否则外部应用程序可能会尝试诱骗用户与其他人共享整个消息数据库。我也想阻止尝试阅读/proc/self和类似的。我正在寻找一个目录列表,这些目录应该被阻止,甚至更好,一个为我执行此清理的库。另一个选择是使用外部缓存和目录的白名单,我可以从Android系统获得。谁能给我建议哪个选项最好?或者任何人都可以给我一个类似proc目录的列表,至少应该被列入黑名单?

答案

只是为了关闭,我会发布我带的解决方案。我阻止任何包括/proc/和我的应用程序的包名称,如下所示:

val path = uri.getPath
if (path.contains(context.getPackageName) || path.startsWith("/proc")) {
  None
} else {
  Some(u)
}

请注意,在进行一般情况下进行清理时,您希望在执行任何其他转换后尽可能晚地执行清理,以降低步骤被绕过的风险。

以上是关于清理Intent文件URI的主要内容,如果未能解决你的问题,请参考以下文章

在 Android 上从照片 URI 创建文件

Android开发常用代码片段

Android代码片段

清理缓存

清理缓存

另一个Android市场发布片段