【问题标题】:Not able to access a file on reboot in Android在 Android 中重新启动时无法访问文件
【发布时间】:2013-11-15 11:49:45
【问题描述】:

我正在开发一个应用程序,通过读取存储在外部存储中的 xml 文件来加载应用程序的设置。但是每当我重新启动系统时,我第一次无法访问 xml,我的应用程序因此崩溃并重新启动。从那时起,它可以访问 xml 文件。关于发生了什么或我做错了什么的任何线索?

我打开文件的示例代码:

filepath= Environment.getExternalStorageDirectory().getAbsolutePath();
File file = new File(filepath+"/xy.xml");

【问题讨论】:

    标签: android file file-io


    【解决方案1】:

    请检查外部存储是否可用。使用广播接收器,监听 Intent.ACTION_MEDIA_MOUNTED :广播动作:外部媒体存在并安装在其安装点。

    【讨论】:

    • 嗨 iago,我尝试了你的建议,但意图并没有在正确的时间触发,我想澄清一下,我设备中的外部存储不是插入的外部 pednrive 或 sdcard ,设备上的内存部分由制造商分区为外部存储。当我使用“filepath=Environment.getExternalStorageDirectory().getAbsolutePath();”我得到文件路径。我希望您对使用广播接收器的建议也适用于这种情况。如果还有其他可能性,你能解释一下吗?
    • 如果是这种情况,可能系统正在检测多个外部存储。检查 API 为您返回的路径。当被视为 SD 卡时,内部存储会返回类似 /mnt/sdcard/ 的内容,因此在设备启动时分区未挂载,因此您可能会遇到空指针异常。在最坏的情况下,您仍然可以使用轮询方法来不断检查文件,直到没有异常为止。
    猜你喜欢
    • 2022-07-29
    • 1970-01-01
    • 2015-05-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-21
    • 2020-01-24
    • 1970-01-01
    相关资源
    最近更新 更多