其實也是最簡單的原理,
就是獲取所有正在執行的
service
如果裡面有這個service,
那麼就是在執行
如果沒有,
那麼就是沒有執行
public static boolean isservicerunning(context context,string serviceclassname){
//獲取服務是否開啟
//程序的管理者
,活動的管理者
activitymanager activitymanager = (activitymanager) context.getsystemservice(context.activity_service);
//獲取系統中正在執行的所有服務
//maxnum : 獲取服務的上限個數
,最多獲取多少個
listrunningservices = activitymanager.getrunningservices(1000);
for (runningserviceinfo runningserviceinfo : runningservices) {
//獲取正在執行的服務的元件表示
componentname componentname = runningserviceinfo.service;
string classname = componentname.getclassname();
//判斷獲取的正在執行的服務的全類名和我們傳遞過來的服務的全類名是否一致,一致
,表示執行
,不一致
,表示沒有執行
if (serviceclassname.equals(classname)) {
return true;
return false;
Android判斷Service是否開啟
最近改bug的時候,發現有個service總是開啟,關閉,重複執行,於是對他做了點小的改動,判斷是否啟動,為真的話則不做任何事,為假,startservice,下面奉上程式片段,給自己做個記錄,也方便下大家。主要思路 通過activitymanager來迴圈判斷service是否存在。必要條件 宣告...
android 判斷Service是否開啟
color red 被判斷的service 必須是帶包名的全名 color 通過service的類名來判斷是否啟動某個服務 private boolean musicserviceisstart listmservicelist,string classname return false 獲取所有啟...
判斷程式是否執行
unit urunexefile inte ce uses windows,messages,sysutils,classes,graphics,controls,forms,dialogs,stdctrls,tlhelp32 type tform1 class tform button2 tbut...