Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android監聽外部存儲設備的狀態(SD卡、U盤等等)

Android監聽外部存儲設備的狀態(SD卡、U盤等等)

編輯:關於Android編程

最近在項目中需要對外部存儲設備的狀態進行監聽,所以整理了此筆記,以便日後查看。

外部存儲設備的狀態變化時發出的廣播

\















\






對比不同狀態下的廣播

<喎?/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA+MS4gsuXI683isr9TRL+oyrGjujwvcD4KPGltZyBzcmM9"/uploadfile/Collfiles/20141218/2014121808471623.png" align="left" alt="\">




2. 移除外部SD卡時:

\





3. 連接PC進入USB大容量存儲模式時:

\





4. 連接PC退出USB大容量存儲模式時:

\





代碼實現監聽


public void startListen()
{
    IntentFilter intentFilter = new IntentFilter(Intent.ACTION_MEDIA_MOUNTED);
    intentFilter.setPriority(1000);  
    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.addAction(Intent.ACTION_MEDIA_CHECKING);
    intentFilter.addAction(Intent.ACTION_MEDIA_EJECT);
    intentFilter.addAction(Intent.ACTION_MEDIA_NOFS);
    intentFilter.addAction(Intent.ACTION_MEDIA_BUTTON);
    intentFilter.addAction(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
    intentFilter.addDataScheme("file");
    registerReceiver(broadcastRec, intentFilter);
}

private final BroadcastReceiver broadcastRec = new BroadcastReceiver() {  
    @Override  
    public void onReceive(Context context, Intent intent) {  
        String action = intent.getAction(); 
        Log.d("MediaAction", action);
        if (action.equals("android.intent.action.MEDIA_MOUNTED"))
        {  
        	//todo
        } else if (action.equals(Intent.ACTION_MEDIA_UNMOUNTED)) 
        {  
        	//todo
        }else if (action.equals(Intent.ACTION_MEDIA_SCANNER_STARTED)){
        }else if (action.equals(Intent.ACTION_MEDIA_SCANNER_FINISHED)){
        }else if (action.equals(Intent.ACTION_MEDIA_SHARED)){
        }else { 
        }  
    }  
}; 


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