android 监听SDCard安装和卸载的代码片段(测试通过)

Java代码   收藏代码
  1.         
  2. // 监听类  
  3. private final BroadcastReceiver sdcardListener = new BroadcastReceiver() {  
  4.           
  5.         @Override  
  6.         public void onReceive(Context context, Intent intent) {  
  7.               
  8.             String action = intent.getAction();  
  9.             Log.d("TAG""sdcard action:::::" + action);  
  10.             if(Intent.ACTION_MEDIA_MOUNTED.equals(action)  
  11.                     || Intent.ACTION_MEDIA_SCANNER_STARTED.equals(action)  
  12.                     || Intent.ACTION_MEDIA_SCANNER_FINISHED.equals(action)  
  13.                     ){  
  14.                 // SD卡成功挂载  
  15.                   
  16.             } else if(Intent.ACTION_MEDIA_REMOVED.equals(action)  
  17.                     || Intent.ACTION_MEDIA_UNMOUNTED.equals(action)  
  18.                     || Intent.ACTION_MEDIA_BAD_REMOVAL.equals(action)  
  19.                     ){  
  20.                 // SD卡挂载失败  
  21.                   
  22.             }  
  23.                       
  24.         }  
  25.     };  
  26.       
  27.         // 注册监听  
  28.     private void registerSDCardListener(){  
  29.         IntentFilter intentFilter = new IntentFilter(Intent.ACTION_MEDIA_MOUNTED);  
  30.         intentFilter.addAction(Intent.ACTION_MEDIA_SCANNER_STARTED);  
  31.         intentFilter.addAction(Intent.ACTION_MEDIA_SCANNER_FINISHED);  
  32.         intentFilter.addAction(Intent.ACTION_MEDIA_REMOVED);  
  33.         intentFilter.addAction(Intent.ACTION_MEDIA_UNMOUNTED);  
  34.         intentFilter.addAction(Intent.ACTION_MEDIA_BAD_REMOVAL);  
  35.         intentFilter.addDataScheme("file");  
  36.         registerReceiver(sdcardListener, intentFilter);  
  37.     }  


使用完成后注销监听:
Java代码   收藏代码
  1. unregisterReceiver(sdcardListener); 

你可能感兴趣的:(android 监听SDCard安装和卸载的代码片段(测试通过))