我需要将数据存储在android设备上,并希望从不同的应用程序(通过后台的服务)访问这些数据。
我们可以使用外部存储来实现这一点。但是,如果它是可移动的,那么它在安装到PC或移除时可能是不可用的。那么,对于每个android设备上的所有应用程序,是否总是有任何永久的不可移动的全局存储?如果是这样的话,我怎么能访问它。
请引导我。提前谢谢。
发布于 2015-05-07 14:52:24
但是,如果它是可移动的,那么它在安装到PC或移除时可能是不可用的。
“安装到PC上”在Android 3.0+上不是一个问题,尽管它是在Android1.x/2.x上。在Android 3.0+设备上,外部存储很少是可移动的。
那么,对于每个android设备上的所有应用程序,是否总是有任何永久的不可移动的全局存储?
外部存储就像您将要得到的一样接近。这意味着你可能希望重新考虑你原来的计划。根据应用程序的性质,答案可能是,一个应用程序拥有内部存储的数据,并通过ContentProvider将数据提供给您套件中的其他应用程序。这比外部存储具有更细粒度的安全可能性。
发布于 2015-05-07 14:52:32
每一个运行android 4.0+的设备都基于媒体传输协议,这意味着如果您将设备挂载到PC上,它仍然可供您的应用程序使用,所以不要太担心它。你一定读过一些关于这方面的过时文章。
编辑:根据CommonsWare的回答,它甚至是3.0+,但是运行Android3.x的设备非常罕见,它们基本上都死了。
发布于 2015-05-07 14:53:15
文件系统存储不会帮助您,因为您的应用程序可以读/写所有其他应用程序也可以读/写/删除,并且您的结果与sdcard部分的情况类似。
顺便说一句:当连接到PC上时,卸载sdcard部分只在过时的设备上工作。目前的设备只使用MTP协议,允许同时从Android和PC访问。
如果有几个应用程序协同工作,那么有许多方法可以在彼此之间共享数据:
https://stackoverflow.com/questions/30104435
复制相似问题