關於監聽盒子的外部儲存器(usb,sdcard等)
一種很常見的方法是註冊監聽廣播action_media_mounted、action_media_unmounted和action_media_removed,來判斷外部儲存器的掛載和解除安裝,但是當有兩個usb介面時,其中乙個接入,另乙個接入後拔出,就有可能有問題,還有乙個問題,當重新啟動應用時無法判斷usb是否已接入,因為不是粘性廣播。
解決方法一:反射,同時配合監聽廣播
public static boolean ishasstoragemounted(context context) catch (nosuchmethodexception e) catch (illegalargumentexception e) catch (illegalacces***ception e) catch (invocationtargetexception e) catch (nullpointerexception e)
if (paths != null)
} catch (nosuchmethodexception e) catch (illegalargumentexception e) catch (illegalacces***ception e) catch (invocationtargetexception e) catch (nullpointerexception e)
}} return false;
}
解決方法二:使用隱藏的api,配合監聽廣播,當然要原始碼編譯的classes.jar包
public static boolean ishasstoragemounted(context context)
string paths = sm.getvolumepaths();
if(paths != null)
string state = sm.getvolumestate(path);
if("mounted".equals(state))
}} return false;
}
String 一些問題
前言 等號 對於基本型別,比較的是值,對於引用型別,比較的是記憶體位址。1.在物件池中建立,如果常量池中已經存在則返回常量池中已經有的。private static void test1 結果 true 2.乙個在string pool中,乙個在堆中。private static void test...
C 一些問題
1 if else語句和switch case語句的效率分析對比 switch效率高。switch的效率與分支數無關,當只有分支比較少的時候,if效率比switch高,因為switch有跳轉表。分支比較多,那當然是switch 根據大量的實際程式測試 不考慮不同的編譯器優化程度差異,假設都是最好的優...
mysql 一些問題
1 中文亂碼 問題 推薦用 uft 8 編碼 適配一切介面,mysql中 發生中文亂碼時 開啟mysql 安裝路徑 更改後 重啟mysql 服務即可,有時也需要 重新匯入資料庫 可能是與 source 檔案時 編碼沒有設定好 client password your password port 33...