gpt4 book ai didi

android - 使用 MODE_WORLD_READABLE 创建的文件未通过电子邮件作为附件发送

转载 作者:行者123 更新时间:2023-11-29 13:57:42 25 4
gpt4 key购买 nike

我使用以下代码创建了 SQLite 数据库:

context.openOrCreateDatabase(dbName, Context.MODE_WORLD_READABLE, null);

并尝试使用以下代码通过电子邮件将其作为附件发送:

Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND)
.setType("message/rfc822")
.putExtra(android.content.Intent.EXTRA_STREAM,
Uri.fromFile(getDatabasePath(dbName)));
startActivity(Intent.createChooser(emailIntent, null));

这将打开带有附件图标的 GMail 撰写 Activity 。但是收件人没有收到附件。

这是 asked before .但看起来除了将 db 文件复制到 SD 卡之外没有其他解决方案。

我的问题是:如果 GMail 等其他应用无法读取该文件,MODE_WORLD_READABLE 标志有什么用?

最佳答案

假设我们有 2 个应用 app_1 和 app_2在 android 文件系统上,这两个应用位于/data/data/app_1 和/data/data/app_2其中 app_1 是“用户”app_1

如果你在/data/data 上运行 ls 你会看到类似这样的东西:drwxr-x--x app_1 app_1drwxr-x--x app_2 app_2

MODE_WORLD_READABLE 相当于 Unix 命令 a+r [file]但是,这不允许其他用户/应用程序访问该文件,因为目录权限不允许 app_1 访问 app_2 文件夹中的文件。

事实上,app_1 甚至无法通过 ls/data/data 查看所有其他目录的列表。最重要的是,MODE_WORLD_READBLE 仅在您处理共享存储(如 SD 卡)上的文件时才有用,但在每个应用程序运行的受限沙箱上则没有用。

希望这些信息对您有所帮助。

关于android - 使用 MODE_WORLD_READABLE 创建的文件未通过电子邮件作为附件发送,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11134845/

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