本文實例講述了Android判斷SD卡是否已經掛載的方法。分享給大家供大家參考。具體如下:
提供一個監聽方法BroadcastReceiver 設置IntentFilter為:
Intent.ACTION_MEDIA_MOUNTED
Intent.ACTION_MEDIA_EJECT
Intent.ACTION_MEDIA_REMOVED
然后再public void onReceive(Context context, Intent intent) 中實現你的啟動邏輯startActivity
private final BroadcastReceiver broadcastRec = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { if(intent.getAction().equals("android.intent.action.MEDIA_MOUNTED")) //SD卡已經成功掛載 { imagepath = android.os.Environment.getExternalStorageDirectory();//你的SD卡路徑 }else if(intent.getAction().equals("android.intent.action.MEDIA_REMOVED") //各種未掛載狀態 ||intent.getAction().equals("android.intent.action.ACTION_MEDIA_UNMOUNTED") ||intent.getAction().equals("android.intent.action.ACTION_MEDIA_BAD_REMOVAL")) { imagepath = android.os.Environment.getDataDirectory();//你的本地路徑 } } }; //在IntentFilter中選擇你要監聽的行為 IntentFilter intentFilter = new IntentFilter(Intent.ACTION_MEDIA_MOUNTED); intentFilter.addAction(Intent.ACTION_MEDIA_UNMOUNTED); intentFilter.addAction(Intent.ACTION_MEDIA_REMOVED); //intentFilter.addAction(Intent.ACTION_MEDIA_SHARED); intentFilter.addAction(Intent.ACTION_MEDIA_BAD_REMOVAL); //intentFilter.addAction(Intent.ACTION_MEDIA_SCANNER_STARTED); //intentFilter.addAction(Intent.ACTION_MEDIA_SCANNER_FINISHED); intentFilter.addDataScheme("file"); registerReceiver(broadcastRec, intentFilter);//注冊監聽函數 unregisterReceiver(broadcastRec);//使用完注銷廣播監聽函數
希望本文所述對大家的Android程序設計有所幫助。
新聞熱點
疑難解答
圖片精選