SDCARD启动后播放视频
-
25-10-2019 - |
题
我有一个通过Broadcastreceiver自动启动的应用程序,并将其设置为Android 2.3.3上的房屋屏幕。 HTC Desire HD上的API10。
该应用程序应在启动后立即反复播放视频,但是由于SDCARD还没有准备好,它会使用不消失的力量关闭错误消息杀死该应用程序。
至少我认为这是因为SDCARD。
在背景中,房屋屏幕重新启动,但错误消息不会消失,如果几秒钟后它会消失,那将是没有问题的,但是如果根本不出现的话,它会更大。
你能帮助我吗?谢谢!
编辑#1:这检查是否准备就绪SDCARD。我只需要阅读访问。
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;
}
解决方案
您有解决方案吗?
首先,你不需要 两个都 “通过Broadcastreceiver自动启动”和“将其设置为房屋屏幕”。一个人应该足够,最好是后者。
活动启动后,它可以检查 Environment
查看是否准备好外部存储。如果没有,它可以注册一个接收器 ACTION_MEDIA_MOUNTED
找出何时准备好外部存储。一旦准备就绪 - 只有在那时 - 它可以尝试播放视频。
不隶属于 StackOverflow