从sdcard启动后播放视频

时间:2012-02-15 19:41:49

标签: android video playback android-sdcard autorun

我有一个通过BroadcastReceiver自动启动的应用程序,并在Android 2.3.3上设置为主屏幕。 HTC Desire HD上的API10。

应用程序应该在启动后立即重复播放视频,但由于SD卡尚未就绪,因此会使用强制关闭错误消息杀死该应用程序,该消息不会消失。

至少我认为这是因为SD卡。

在后台,主屏幕重新启动,但错误消息不会消失,如果它会在几秒钟之后消失就没问题,但如果它根本不会出现则会更大。

你可以帮帮我吗? 谢谢!

编辑#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;
}

1 个答案:

答案 0 :(得分:2)

  

你有解决方案吗?

首先,您不需要两者"通过BroadcastReceiver自动启动"和"设置为主屏幕"。一个应该足够,最好是后者。

活动启动后,可以检查Environment以查看外部存储是否准备就绪。如果没有,它可以为ACTION_MEDIA_MOUNTED注册接收器,以找出外部存储何时准备就绪。一旦准备好 - 只有在那一点 - 它可以尝试播放视频。