【发布时间】:2015-03-24 10:57:18
【问题描述】:
我正在尝试使用以下代码从 sdcard 读取文件
f = new RandomAccessFile("/storage/sdcard0/trac.txt", "r");
但应用程序在这样做时崩溃了。我能够在 sdcard 中创建和写入文件,但无法读取它。 我的清单中有以下权限,我将其作为系统应用程序运行:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_LOGS" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
<uses-permission android:name="android.permission.WRITE_MEDIA_STORAGE"/>
<uses-permission android:name="android.permission.READ_MEDIA_STORAGE"/>
<uses-permission android:name="android.permission.ACCESS_SUPERUSER"></uses-permission>
<uses-permission android:name="android.permission.INJECT_EVENTS"></uses-permission>
【问题讨论】:
-
发布崩溃日志。你确定路径正确吗?
-
我试图记住确切的细节,但我相信如果你在与系统共享的用户 ID 下运行,你将被禁止使用外部存储,因为与进程被杀死有关的遗留原因卸载时——所以你可以在一个普通的应用程序中测试这段代码,看看它是否在那里工作。更一般地说,您应该在运行时确定存储路径,而不是猜测它。显示您似乎暗示有效的编写代码会很有帮助,并且已经请求了崩溃的实际日志。
标签: java android file file-handling