Ниже показано, как проверить, установлена ли / отключена карта памяти.Вы можете изменить его, чтобы проверить, удален / вставлен.Я делаю это, регистрируя BroadcastReceiver для получения «событий монтирования», затем проверяю, в каком состоянии находится карта памяти. Если она не смонтирована и не находится во время проверки (состояние во время повторного монтирования карты), она размонтируется иликарта была удалена.
public class MemCardReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
onMemcardMounted();
}
else if (!Environment.getExternalStorageState().equals(Environment.MEDIA_CHECKING)){
onMemorycardUnMounted();
}
}
private void onMemorycardUnMounted() {}
private void onMemcardMounted() {}
}
И в ManifestFile
<receiver android:enabled="true" android:exported="true" android:name="the.name">
<intent-filter>
<action android:name="android.intent.action.MEDIA_MOUNTED" />
<action android:name="android.intent.action.MEDIA_UNMOUNTED" />
<data android:scheme="file" />
</intent-filter>
</receiver>
Есть несколько различных состояний проверить это , если есть какие-либо другие заявленные как.удален