如果程式啟動前就已經掛載了卡,那麼需要使用storagevolume類的反射來實現!而廣播的方式只能在程式啟動後檢測卡的插/拔,所以合理的方式應該是同時使用反射和廣播。不然會有這樣一種現象:先插卡後啟程式,廣播並不能檢測到卡的狀態,要拔出插入一次廣播才能檢測到。
/**
* 判斷外接sd/tf卡是否掛載
* * @return
*/public boolean i***istcard() catch (invocationtargetexception e)
final int length = array.getlength(obj);
for (int i = 0; i < length; i++)
} } catch (exception e)
return result;
}
intentfilter filter = new intentfilter();
filter.addaction(intent.action_media_mounted);
filter.addaction(intent.action_media_unmounted);
//必須加入否則無法檢測sd/tf卡
filter.adddatascheme("file");
//註冊廣播
registerreceiver(broadcastreceiver, filter);
final broadcastreceiver broadcastreceiver = new broadcastreceiver()
if (objects.equals(intent.getaction(), intent.action_media_unmounted))
}};
Android判斷Service是否開啟
最近改bug的時候,發現有個service總是開啟,關閉,重複執行,於是對他做了點小的改動,判斷是否啟動,為真的話則不做任何事,為假,startservice,下面奉上程式片段,給自己做個記錄,也方便下大家。主要思路 通過activitymanager來迴圈判斷service是否存在。必要條件 宣告...
Android判斷EditText是否輸入了內容
最簡單的有以下兩種方式 a eidttext.gettext tostring trim equals 判斷得到的字串是否為 b eidttext.gettext tostring trim length 0 判斷得到的字串長度是否為0。以下的方法是不可取的 1 edittext.gettext n...
android 判斷Service是否開啟
color red 被判斷的service 必須是帶包名的全名 color 通過service的類名來判斷是否啟動某個服務 private boolean musicserviceisstart listmservicelist,string classname return false 獲取所有啟...