将Android中的屏幕截图分享给具有最低权限的社交媒体

时间:2016-01-13 18:27:30

标签: android java-native-interface cocos2d-x android-permissions

您是否可以使用Intent ACTON_SEND共享屏幕截图而不将其保存到外部存储(如getExternalStorageDirectory()),而是将其保存到getFilesDir()指向的位置?甚至更好 - 根本不保存屏幕截图。

还是有更好的方法吗?

我正在尝试将屏幕截图分享添加到cocos2d-x游戏中。 我想尽量减少游戏需要给予的权限,它既可以使用,也可以不使用SD卡。

1 个答案:

答案 0 :(得分:2)

  

您可以使用Intent ACTON_SEND共享屏幕截图...将其保存到getFilesDir()指向的位置吗?

您可以使用FileProvider来处理从getFilesDir()到第三方的文件。您可以在content: Uri的{​​{1}}中使用FileProvider EXTRA_STREAM获取ACTION_SEND

  

甚至更好 - 根本不保存屏幕截图。

这有点冒险。没有什么可以阻止您创建自己的Intent来为您的堆空间提供PNG以响应ContentProvider。但是,如果您的流程在其他应用程序在PNG中完成流式传输之前结束,那么您就遇到了麻烦。

  

没有和SD卡可用

大多数Android设备都无法移除外部存储空间。