tôi đang cố gắng để phát hiện các Bật lưu trữ USB sử dụng BroadcastReceiver mặc dù tôi có thể phát hiện USB kết nối bằng android.intent.action.UMS_CONNECTED hành động
và
bị ngắt kết nối sử dụng android.intent.action. Hành động UMS_DISCONNECTED.
Tôi làm cách nào để phát hiện bộ nhớ USB ?Android: Cách phát hiện "Bật lưu trữ USB" Phát sóng?
10
A
Trả lời
3
Dưới đây là cách tôi kiểm tra xem thẻ nhớ đã được lắp/chưa lắp chưa. Bạn có thể thay đổi nó để kiểm tra loại bỏ/insterted. Tôi làm điều này bằng cách đăng ký một BroadcastReceiver để có được "sự kiện gắn kết" sau đó kiểm tra trạng thái của thẻ lưu trữ. Nếu nó không được gắn kết và không phải trong khi nó đang kiểm tra (trạng thái trong khi nó gắn thẻ lại) nó chưa được lắp hoặc thẻ đã bị xóa.
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() {}
}
Và trong 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>
Có một số tiểu bang khác nhau checkout this nếu có bất kỳ khác nói như thế nào. đã xóa
0
Tôi nghĩ android.Intent.action.ACTION_MEDIA_EJECT được phát khi người dùng sử dụng bộ lưu trữ USB và ACTION_MEDIA_MOUNTED khi nó bị tắt.