Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android判斷SD卡是否已經掛載的方法

Android判斷SD卡是否已經掛載的方法

編輯:關於Android編程

本文實例講述了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程序設計有所幫助。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved