在我的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直接从应用程序内共享数据,而不首先将其保存到文件中。 因此,任何指向该解决方案的帮助也将受到欢迎。