在我的Android应用程序中,我想从我的应用程序共享数据 . 这可能是任何随机数据,如我刚刚创建的图像 . 目前我通过添加Extra来做到这一点

intent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(file));

但这意味着我将URI暴露给Intent接收器 . 特别是对于Android API 24,我必须实现这个丑陋的FileProvider . 由于我并不真的需要将数据存储在我的应用程序中(我只想通过电子邮件或文件浏览器进行共享)我希望只是直接发送数据 . “Intent.EXTRA_STREAM”建议直接发送流而不关心文件权限等 .

所以我的问题是:

我可以直接从“app memory”发送(输出)流或数据

intent.putExtra(Intent.EXTRA_STREAM, myBitmap.getNiceOutputStream());

甚至直接

intent.putExtra(Intent.EXTRA_STREAM, myBitmap);

为了避免在本地存储文件并使用FileProviders?

---编辑---

我似乎可以创建一个自定义ContentProvider直接从应用程序内共享数据,而不首先将其保存到文件中 . 因此,任何指向该解决方案的帮助也将受到欢迎 .