Android系統下監聽SD卡的插入并讀取內容

g2b4 9年前發布 | 3K 次閱讀 Java Android

Android系統下監聽SD卡的插入并讀取內容

//自己寫一個廣播監聽函數
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);//使用完注銷廣播監聽函數</pre>

 本文由用戶 g2b4 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!