您是否可以使用Intent ACTON_SEND共享屏幕截图而不将其保存到外部存储(如getExternalStorageDirectory()),而是将其保存到getFilesDir()指向的位置?甚至更好 - 根本不保存屏幕截图。
还是有更好的方法吗?
我正在尝试将屏幕截图分享添加到cocos2d-x游戏中。 我想尽量减少游戏需要给予的权限,它既可以使用,也可以不使用SD卡。
答案 0 :(得分:2)
您可以使用Intent ACTON_SEND共享屏幕截图...将其保存到getFilesDir()指向的位置吗?
您可以使用FileProvider
来处理从getFilesDir()
到第三方的文件。您可以在content:
Uri
的{{1}}中使用FileProvider
EXTRA_STREAM
获取ACTION_SEND
。
甚至更好 - 根本不保存屏幕截图。
这有点冒险。没有什么可以阻止您创建自己的Intent
来为您的堆空间提供PNG以响应ContentProvider
。但是,如果您的流程在其他应用程序在PNG中完成流式传输之前结束,那么您就遇到了麻烦。
没有和SD卡可用
大多数Android设备都无法移除外部存储空间。