在Java中,有没有办法真正知道您的android应用程序是否安装在SD卡或内部电话存储上。
如果我的应用程序安装在内部电话存储上,并且我的应用程序创建了一个文本文件,那么该文本文件也会存储在内部电话存储上,对吗?那么,当将应用程序移动到SD-Card时,文本文件是否也会移动到SD-Card?
这有意义吗?
提前谢谢。
发布于 2012-11-28 08:13:49
在Java中有没有办法真正找出你的安卓应用程序是安装在SD卡上还是安装在内部电话存储器上。
看看ApplicationInfo.FLAG_EXTERNAL_STORAGE
如果我的应用程序安装在内部电话存储上,并且我的应用程序创建了一个文本文件,那么该文本文件也会存储在内部电话存储上,对吗?
不一定-这取决于您使用什么方法来创建文件。创建内部或外部文件通常使用完全不同的方法。
例如,创建内部文件的首选方法是使用..
openFileOutput(String name, int mode)同样,读取内部文件的首选方法是...
openFileInput(String name)如果原始文件被移动到SD卡,那么它将不会被找到,因为openFileInput(String name)只适用于内部存储。换句话说,如果移动过程移动了内部文件,它将“破坏”程序员的代码。
因此,当将应用程序移动到SD卡时,文本文件是否也会移动到SD卡?
不,由于上述原因,数据文件的创建和存储位置与实际应用程序的物理安装位置无关。
https://stackoverflow.com/questions/13595467
复制相似问题