我的Android应用程序点击照片并在应用程序中访问它们。这很好用
但是当点击照片时,它们可以在图库中访问(Android的默认照片查看应用程序)。可以从图库中查看,编辑甚至删除它们。
我希望我的应用仅对其点击的照片拥有权利,因为我们不会在点击它们时立即将它们上传到服务器。应用程序等待wifi上传它们。如果文件在开始上传时在我的应用程序之外更新(特别是如果它被删除),则会出现数据完整性问题
我相信有一种方法可以实现这一目标,因为除非您明确保存,否则Android图像的Facebook应用程序无法在库中使用。
问题是如何实现这一目标。
答案 0 :(得分:1)
您可以在包含图片的目录中创建空白.nomedia
文件。这将拒绝Gallery应用程序扫描该目录。
但请注意,这是一个快速修复,如果您想完全保护您的文件,我建议您使用{{在外部存储上使用私有存储目录3}}
答案 1 :(得分:1)
我的Android应用程序点击照片并在应用程序中访问它们
你还没有解释你是如何做到的。
我希望我的应用仅对其点击的照片拥有权利,因为我们不会在点击它们时立即将它们上传到服务器。
然后将照片放在internal storage上,而不是外部存储空间。
如果您使用相机API自己拍照,这只是您在何处编写图像数据。
如果您使用ACTION_IMAGE_CAPTURE
,请在拍摄照片后将照片从外部存储移至内部存储。但请注意,用户选择处理ACTION_IMAGE_CAPTURE
请求的相机应用可能会在其他位置单独复制该照片,并且该副本可能会被MediaStore
选中。
锁定与图库相关的应用相关图片
根据您的说明,图库类型的应用不是您的问题。 任何应用都是您的问题。虽然.nomedia
类型的解决方案可能会将图片保留在图库类型的应用中,但如果照片在external storage上,则其他应用仍然可以访问它(例如,文件管理器)。
答案 2 :(得分:0)
您可以通过调用Context
方法getExternalFilesDir()
在外部存储上使用私人存储目录。您可以在Saving files that are app-private上查看Android文档。