У меня есть приложение, которое использует файл на SD-карте, приложение запускается, когда телефон загружается, и стало очевидно, что доступ к файлу невозможен при первом запуске программы, так как она начинает работать до появления SD-карты.
Имеется ли широковещательный приемник, который я могу использовать, чтобы определить, когда 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
}
};
Поиск ACTION_MEDIA_MOUNTED
действие широковещательной рассылки для намерения
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"