在開發公司專案的時候,需要判斷盒子插入的外部儲存裝置室sd卡或者是u盤,在網上沒有找到相應的方法。自己在插拔sd卡和u盤的過程中看到狀態列中的提示語不同,就想從systemui中找方法,後來摸索著找到了,並且用在工程中,這裡簡單的總結一下:
private static final string ext_storage_path = environment.getexternalstoragedirectory().tostring(); //獲取sd卡的路徑
private static final string ext2_storage_path = environment.getexternalstorage2directory().tostring();//獲取其他外部儲存的方法
storagemanager mstoragemanager = (storagemanager) getsystemservice(context.storage_service); //獲得storagemanager物件
private storageeventlistener mstoragelistener = new storageeventlistener() else if(path.equals(ext2_storage_path))}}
};在這裡通過newstate判斷外部裝置的插拔狀態,然後通過路徑去分別判斷不同的裝置。
@override
public void onresume() ;
@override
protected void onpause()
super.onpause();
}然後在不同的生命週期階段,註冊***和解除註冊。
最後別忘了在manifest.xml中新增許可權
Android儲存裝置 U盤,SD卡 狀態監測
我們是以dv6300 t的平台來做測試的,發現有2種方式來檢測android中external media 包括sd卡,usb 的狀態。一種是使用storagelistener監聽,還有一種是使用廣播的方式。相關的類主要有 recorddevicemanager devicestatelistene...
linux mdev實現U盤或SD卡的自動掛載
mdev是busybox中的乙個udev管理程式的乙個精簡版,他也可以實現裝置節點的自動建立和裝置的自動掛載,只是在實現的過程中有點差異,在發生熱插拔時間的時候,mdev是被hotplug直接呼叫,這時mdev通過環境變數中的 action 和 devpath,來確定此次熱插拔事件的動作以及影響了 ...
Udev實現U盤或SD卡的自動掛載
linux傳統上使用靜態裝置建立的方法,在dev下建立了大量的節點,而不管這些節點相應的硬體裝置是否存在。採用 udev的方法,系統檢測到裝置才會去建立這些裝置對應的節點。這裡我們簡單的說一下udev的工作原理 udev是依賴於sysfs的,當系統中新增乙個新的裝置後,核心檢測到後就會產生乙個hot...