一些問題(2)

2021-06-28 06:42:30 字數 1058 閱讀 9884

關於監聽盒子的外部儲存器(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...