2010-08-05 75 views
18

我有一个使用SD卡上的文件的应用程序,应用程序在手机启动时运行,并且很明显,该程序在开始工作时首次运行时无法访问该文件在SD卡可用之前。android intent for sdcard ready

是否有一个广播接收器可以用来判断SD卡何时准备好?

更新

只是总结了答案登记的意图做:

IntentFilter filter = new IntentFilter (Intent.ACTION_MEDIA_MOUNTED); 
filter.addDataScheme("file"); 
registerReceiver(this.mSDInfoReceiver, new IntentFilter(filter)); 

,并创建一个广播接收器对其作出反应:

private BroadcastReceiver mSDInfoReceiver = new BroadcastReceiver(){ 
    @Override 
    public void onReceive(Context arg0, Intent intent) { 
    // Code to react to SD mounted goes here 
    } 
}; 

回答

18

查找ACTION_MEDIA_MOUNTED广播行动在Intent

public static final String ACTION_MEDIA_MOUNTED 

Since: API Level 1 
Broadcast Action: External media is present and mounted at its mount point. The path to the mount point for the removed media is contained in the Intent.mData field. The Intent contains an extra with name "read-only" and Boolean value to indicate if the media was mounted read only. 
Constant Value: "android.intent.action.MEDIA_MOUNTED"