android監聽TF卡插拔事件 判斷
如何通過註冊廣播獲知TF插拔事件:
註冊廣播:
IntentFilter filter = new IntentFilter();
filter.addAction(Intent.ACTION_MEDIA_EJECT);
filter.addAction(Intent.ACTION_MEDIA_MOUNTED);
filter.addDataScheme("file");
this.registerReceiver(usbReceiver, filter);
filter.addDataScheme("file");
this.registerReceiver(usbReceiver, filter);
如何判斷TF、USB是否插入以及獲取路徑:
通過反射獲取類 StorageManager 中的 getVolumePaths 方法獲取路徑。
private StorageManager mStorageManager;
private static String mInterSD; // 內建sd卡
private static String mExternalSD; // 外接sd卡 1
private static String mUSB; // U盤,外接sd卡2
private String[] mPath;
public void getStorageList() {
if (mActivity != null) {
mStorageManager = (StorageManager)
mActivity.getSystemService(Activity.STORAGE_SERVICE);
try {
mMethodGetPaths = mStorageManager.getClass().getMethod("getVolumePaths");
mPath = (String[]) mMethodGetPaths.invoke(mStorageManager);
if (mPath.length > 0) {
mInterSD= mPath[0];
}
if (mPath.length > 1) {
mExternalSD= mPath[1];
}
if (mPath.length > 2) {
mUSB= mPath[2];
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
public boolean getExternalStorageState() {
if(TextUtils.isEmpty(EXTERNAL_STORAGE_DIRECTORY)) {
return false;
}
try {
return "mounted".equals(Environment.getStorageState(new File(mExternalSD)));
} catch (Exception rex) {
return false;
}
}
相關文章
- Android.GridView事件監聽AndroidView事件
- 事件監聽事件
- Flutter事件監聽Flutter事件
- jQuery事件監聽jQuery事件
- 監聽滑鼠事件事件
- 事件和事件監聽器事件
- Android的事件處理——監聽介面方式Android事件
- EditText監聽方法,實時的判斷輸入多少字元字元
- 關於Android中軟鍵盤顯示隱藏的監聽判斷總結Android
- 判斷SD卡是否可用SD卡
- vue監聽頁面中的某個div的滾動事件,並判斷滾動的位置Vue事件
- vue之監聽事件Vue事件
- 監聽鍵盤事件事件
- 初識事件監聽事件
- JS事件監聽器JS事件
- android監聽SD卡掛載並獲取路徑AndroidSD卡
- deleted事件監聽報錯delete事件
- 如何移除事件監聽器事件
- Laravel 中的事件監聽Laravel事件
- passive 的事件監聽器事件
- 鍵盤監聽事件--向左事件
- java 自定義監聽事件Java事件
- javascript監聽鍵盤事件JavaScript事件
- TF卡,Micro SD卡,Micro SDHC卡SD卡
- 監聽所有模型的 saved 事件模型事件
- 如何監聽SAP CRM BOR事件事件
- java 監聽 redis 過期事件JavaRedis事件
- h5 storage事件監聽H5事件
- Spring Boot 事件和監聽Spring Boot事件
- Event-Listerner事件監聽模式事件模式
- JS的事件監聽機制JS事件
- 【LISTENER】Oracle分析連線監聽情況,判斷客戶端IP分佈Oracle客戶端
- Android截圖監聽Android
- Spring事件釋出與監聽Spring事件
- vue 監聽頁面滾動事件Vue事件
- 透過觀察者監聽模型事件模型事件
- 通過觀察者監聽模型事件模型事件
- Apache ZooKeeper - 事件監聽機制初探Apache事件