判斷Service是否執行
後臺常駐服務, 有時候需要判斷Service是否在執行. 為此封裝成一個工具類.
有兩種方法:- 使用Android SDK API, 程式碼如下:
/**
* 判斷Service是否正在執行
*
* @param context 上下文
* @param serviceName Service 類全名
* @return true 表示正在執行,false 表示沒有執行
*/
public static boolean isServiceRunning(Context context, String serviceName) {
ActivityManager manager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningServiceInfo> serviceInfoList = manager.getRunningServices(200 );
if (serviceInfoList.size() <= 0) {
return false;
}
for (ActivityManager.RunningServiceInfo info : serviceInfoList) {
if (info.service.getClassName().equals(serviceName)) {
return true;
}
}
return false;
}
//在 onCreate()方法或者, onStartCommand()方法中賦值
public class TestService extends Service{
private volatile static TestService service;
@Override
public void onCreate() {
super.onCreate();
//service = this;//這裡賦值
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
super.onStartCommand(intent, flags, startId);
//service = this;//也可以在這裡賦值
return START_STICKY;
}
@Override
public void onDestroy() {
super.onDestroy();
service = null;//這裡斷開強引用, 重置為null
}
/**
* 服務是否存活
*
* @return true: 存活
*/
public static boolean isServiceRunning() {
return service != null;
}
}
相關推薦
判斷Service是否執行
後臺常駐服務, 有時候需要判斷Service是否在執行. 為此封裝成一個工具類. 有兩種方法: 使用Android SDK API, 程式碼如下: /** * 判斷Servic
android 判斷service是否執行
/** * 判斷服務是否正在執行 * * @param context * @param className 判斷的服務名字:包名+類名 * @return true在執行 false 不在執行 *
Android中判斷service是否在執行
/** * 判斷服務是否開啟 * * @return */ public static boolean isServiceRunning(Context context, String ServiceName) { if (TextUti
android 判斷App程序是否存在,處在前臺,後臺,前後臺切換,service是否執行,設定為系統app
1.判斷程序是否存在 //判斷是否在主程序,這個方法判斷程序名或者pid都可以,如果程序名一樣那pid肯定也一樣 //true:當前程序是主程序 false:當前程序不是主程序 public boolean isUIProcess() { ActivityManager
Android判斷service是否在執行!
Android 中判斷某一指定的服務是否有在執行中,這裡使用ActivityManager例項來檢索正在執行的任務例項,獲取其元件名稱,然後通過與指定service的元件名稱進行比對。。。 程式碼如下: /** * @param
Android判斷一個Service是否執行 對服務的判斷
在開啟一個服務之前應該判斷該服務知否已經在執行 //本方法判斷自己些的一個Service-->com.android.controlAddFunctions.PhoneService是否已經執行 public static boolean isWorked()
判斷Service是否正在執行
原文地址: public static boolean isServiceRunning(Context mContext, String className) { boolean isRunning = false; ActivityManager activ
Problem D: 判斷上否上三角矩陣
#include<stdio.h> int main() { int n,a[10][10],i,j; while(scanf("%d",&n)!=EOF) { int flag=1; //flag用來做自動判斷 for(
Android 點選通知欄訊息開啟activity,並判斷app是否執行
android的通知欄訊息點選事件如果是開啟一個activity時,我們要考慮兩種情況: 應用正在前臺執行。 應用已退出。 如果是第一種情況那麼就好處理了,直接為Intent設定flag為FLAG_ACTIVITY_NEW_TASK,然後呼叫context.
根據程序名判斷程序是否執行
問題描述: 給定程序名,判斷該程序是否正在執行。 參考程式碼: #include <TlHelp32.h> BOOL IsProcessRunning(LPCTSTR lpProcessName) { if (NULL == lpProcessName)
虛擬機器開啟時 ”VMware Authorization Service未執行“或“無法連線 MKS: 套接字連線嘗試次數太多;正在放棄”。
說明:可能你在升級或安裝Vmware的時候,不小心用360阻止了VMware的某個程式,可以用以下方法開啟。1.開啟windows工作管理員,選中“服務”選單欄,找到“VMware Authorizat
垃圾回收之判斷物件否需要被回收(根搜尋演算法和引用搜索演算法)
根搜尋演算法(JAVA的虛擬機器用的是這個) 可以參考這個 http://blog.csdn.net/qq_15022971/article/details/79162126 引用搜索演算法:是常被初學JAVA者誤解,java的垃圾回收在判斷一個物件是否為可以被回收的物件時,常被誤以為
.net 判斷程式是否執行在虛擬機器上 (方法2)
前面寫過一種方法是用第三方的dll來判斷是否執行在虛擬機器中,但是那個方法只能在32位下執行。 http://blog.csdn.net/fhl812432059/article/details/51
MFC程式唯一執行判斷(只能執行一個例項)
方法一: BOOL CIrisApp::InitInstance() { //加入程式唯一執行 ::CreateMutex(NULL,TRUE,m_pszExeName); if(GetLastError()==ERROR_ALREADY_EXIST
NSIS安裝過程中判斷程式是否執行中,FindProcDLL和KillProcDLL
FindProcDLL::FindProc {process_name} 返回值: 0 - 未找到 1 - 找到 KillProcDLL::KillProc {process_name} 0
service怎麼執行到非UI執行緒
我們都知道android中service是執行在UI執行緒中的,怎樣讓service執行到非UI執行緒中?我知道service在註冊的時候可以通過android:process=":remote"指定service到remote的程序中,但是要讓service執行到非UI執
Android - 判斷當前應用執行在前臺還是後臺
判斷android當前執行在前臺還是後臺,有兩種解決方案: 第一種:當app1開啟顯示在最上面頁面時返回true, 但是當app1開啟執行在後臺,app開啟執行在最上面頁面時也返回true。 private boolean isTopActivity() { Activity
js中動態載入js並且判斷載入完成執行回撥函式
這一段js雖然很少,但是足以知道什麼是動態載入js了,像requirejs,seajs其實原理也就是這樣,下面發出自己寫的函式 <span style="font-size:18px;colo
spring security 資源判斷時不執行自定義AccessDecisionManager
弄這個框架的時候,因為這個問題困擾了很久,一直顯示無法進入AccessDecisionManager內,導致資源請求無法進行有效攔截,資料找了很久也並未找到合理解決方案,表示當時就腦子不夠用,及看不懂原始碼,又不懂原理,搭建都是靠人家的教程,一開始也看到了一
android判斷service是否活著
//本方法判斷自己些的一個Service-->come.xuexin.test是否已經執行 public static boolean isWorked() { ActivityManager myManager=(ActivityManager)context.getSystemS