日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android中获取正在运行的服务-------ActivityManager.RunningServiceInfo的使用

發布時間:2025/3/17 Android 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android中获取正在运行的服务-------ActivityManager.RunningServiceInfo的使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

關于PackageManager和ActivityManager的使用 ,自己也寫了一些DEMO 了,基本上寫的線路參考了Settings模塊下的

????????應用程序,大家如果真正的有所興趣,建議大家看看源碼,不過丑化說在前面,我自己也沒怎么看過這方面的源碼,只在

????????需要的時候,才跑過去翻翻。

?????????

?????????????今天,在耐著最后一點性子,寫下了這篇博文,基本上完成了整個應用程序功能模塊的介紹,大家也在此系列上慢慢拓展。

?

? ActivityManager.RunningServiceInfo類:??封裝了正在運行的服務信息

?

? 獲取系統里所有真正運行的服務是通過調用ActivityManager方法來得到的,具體方法如下:

?

?????????????????????List<ActivityManager.RunningServiceInfo>?getRunningServices?(int maxNum)

??????????????????????? ?功能:返回所有正在運行的服務

??????????????????????? ?參數:?? maxNum 代表我們希望返回的服務數目大小,一般給個稍大的值即可, 例如,50 。?

???????????????????????????????

ActivityManager.RunningServiceInfo 類

? 常用字段:

?

?????????????? long?? activeSince????????服務第一次被激活的時間, 包括啟動和綁定方式

?????????????? int????? clientCount??????????如果該Service是通過Bind方法方式連接,則clientCount代表了service連接客戶端的數目

???????????????int??? ? crashCount???????? ?服務運行期間,出現死機的次數

???????????????boolean?? foreground???若為true,則該服務在后臺執行

???????????????int?????? ?pid??????????????????????????如果不為0,表示該service所在的進程ID號( PS:為0的話我也不清楚 - - 求指點)

?????????????? int?????? ?uid??????????????????????????用戶ID 類似于Linux的用戶權限,例如root等????????????????????

????????????? String? ?process??????????????? ?進程名,默認是包名或者由屬性android:process指定

??????????????ComponentName??service??????????獲得該Service的組件信息 包含了pkgname / servicename信息

?

PackageManger類

?? 說明: 封裝了對應用程序信息的操作

??????? 獲得應用程序信息的的方法如下:

????????? public abstractApplicationInfo??getApplicationInfo(String? packageName, int flags)

???????????????? 參數:packagename 包名

???????????????????????????? flags 該ApplicationInfo是此flags標記,通常可以直接賦予常數0即可

???????????????? 功能:返回ApplicationInfo對象

?

????????關于PackageManger更多信息,請查看<Android中獲取應用程序(包)的信息-----PackageManager的使用(一)>

?

?? Task任務的使用,我也就不在贅述了,大家可以仔細看下SDK,在此推薦一篇博客來幫助大家理解。

????????? 《Android系統的進程,任務,服務的信息》

?

?

Demo說明:

?

????? ???我們獲取了系統里正在運行的服務信息,包括包名,圖標,service類名等。為了達到Settings下應用程序模塊中的

??? 正在運行服務的效果,我們點擊某一服務后,理論上來說是可以停止該服務的,但是由于權限permissions不夠,可能報

????SecurityException異常,導致應用程序發生異常。

?

??? 關于權限不夠的問題,可以分為兩種:

?????? 1、 在AndroidManifest.xml文件中,為<activity/>或<service/>節點指定android:permission屬性時,在其他進程中操作時,

?????????? ?? 需要?聲明該permission權限 。 具體可以參考下面這篇文章:

????????????????????????????????????????????? 《android 自定義權限 permission》

?

?????? 2、?系統權限,這個咱就沒什么話說了。 可以參考下面這篇文章。

???????????????????????????????????android.uid.system?獲取系統權限 》

?

?

????截圖如下:(加上了水印,請諒解)

?

???????????????????????????????????????? ??? ????

原文:http://blog.csdn.net/qinjuning/article/details/7015313

轉載于:https://www.cnblogs.com/shanzei/archive/2012/03/29/2423990.html

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的Android中获取正在运行的服务-------ActivityManager.RunningServiceInfo的使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。