Android開發怎麼判斷應用或者服務已經啟動

2021-08-26 21:54:38 字數 1068 閱讀 4402

1、判斷應用已經啟動

activitymanager

am =

(activitymanager

)context

.getsystemservice

(context

.activity_service

);list

<

runningtaskinfo

>

list =am

.getrunningtasks

(100

);for

(runningtaskinfo

info

:list)}

100表示取的最大的任務數,info.topactivity表示當前正在執行的activity,info.baseactivity表系統後台有此 程序在執行,具體要做如何判斷就看自已的業務需求。這個類還有更多的方法可以取得系統執行的服務、記憶體使用情況等的方法,請各位自行查詢。

有一點要注意,如果想正常執行此方法,請在你的 androidmanifest.xml 中加入:

android:name

="android.permission.get_tasks"

/>

否則可能會有exception丟擲。
2、判斷服務已經啟動執行

activitymanager

am =

(activitymanager

)context

.getsystemservice

(context

.activity_service

);list

<

runningserviceinfo

>

infos =am

.getrunningservices(30

);//30是最大值

for(

runningserviceinfo

info

:infos)}

Android判斷非系統應用

將目前收集到的android判斷非系統應用的方法都列出來 一般都是都通過activityinfo.flags flag system的值進行判斷的。系統應用 1.activityinfo.flags flag system 0 非系統應用 1.activityinfo.flags flag syst...

Android應用開發優化

最近總結了一些,android應用開發中,需要注意的一些事項,與大家分享 1.盡量少的宣告全域性變數 2.宣告全域性靜態變數,一定要加final宣告 3.宣告非靜態的全域性變數,最好不要初始化任何值,在使用到的地方,在進行初始化 4.函式中若干次使用全域性變數,應該將全域性變數賦值給本地變數,然後直...

Android應用開發 AsyncTask

摘錄自 android 多執行緒 asynctask詳解 asynctaskasynctask params,progress,result params 這個泛型指定的是我們傳遞給非同步任務執行時的引數的型別 progress 這個泛型指定的是我們的非同步任務在執行的時候將執行的進度返回給ui執行...