我有一个通过 BroadcastReceiver 自动启动的应用程序,并在 Android 2.3.3 上设置为主屏幕。HTC Desire HD 上的 API10。
该应用程序应在启动后立即重复播放视频,但由于 sdcard 尚未准备好,它会以不会消失的强制关闭错误消息杀死应用程序。
至少我认为这是因为 sdcard。
在后台,主屏幕重新启动,但错误消息并没有消失,如果它在几秒钟后消失也没问题,但如果它根本不出现就更大了。
你能帮助我吗?谢谢!
编辑#1:这会检查 SD 卡是否准备好。我只需要读取权限..
static public boolean hasStorage(boolean requireWriteAccess) {
String state = Environment.getExternalStorageState();
Log.v("tomi", "storage state is " + state);
if (Environment.MEDIA_MOUNTED.equals(state)) {
if (requireWriteAccess) {
boolean writable = checkFsWritable();
Log.v("tomi", "storage writable is " + writable);
return writable;
} else {
return true;
}
} else if (!requireWriteAccess && Environment.MEDIA_MOUNTED_READ_ONLY.equals(state)) {
return true;
}
return false;
}