簡體   English   中英

如何檢查android中所有正在運行的服務?

[英]How to check all the running services in android?

我想訪問並查看后台運行了多少服務和哪些服務。

我想要與我們可以訪問的完全相同的功能

菜單->設置->應用程序->運行服務

在我們的 android 基礎手機或標簽上。 誰能告訴我在 android 源代碼中使用了哪些函數或類來提供此功能。

如果有什么方法可以訪問我上面提到的后台運行服務的內置列表,那么請告訴我,因為使用內置服務對我來說更好,而不是創建全新的服務。

檢查此鏈接:

如何在 6.0 Marshmallow 及更高版本中訪問 Android 的運行應用程序列表


在哪里可以找到在 Android 6.0 中運行的服務 就像我之前提到的,在

Android 5.x 及更低版本,您可以通過跳轉到設置 > 應用程序 > 運行來查看發生了什么。 這顯示了正在運行的進程和服務,以及系統和應用程序使用了多少內存 (RAM),以及還有多少可用。


要在 Marshmallow 中找到相同的菜單,您首先需要啟用開發人員選項。 通過進入“設置”,然后“關於手機”來執行此操作。


在那里,找到“軟件信息”部分——這在某些手機(三星、LG)上是一個單獨的條目,但在其他手機(如 Nexus 設備)上則不是。 您正在尋找內部版本號,因此在找到它之前您可能需要四處看看。 下面的前兩張圖 取自三星 Galaxy S7 Edge,最后一個取自 Nexus 6P。 如您所見,構建位於兩個不同的位置。



找到后,點擊它七次。 您會看到一個 Toast 通知,讓您知道在“您成為開發人員”之前還剩下多少。 點擊七次后,將在主設置菜單中的關於手機上方解鎖一個新菜單。


返回設置,進入開發者選項。 您應該會在此菜單的下方看到“運行服務”——這就是您要查找的內容。 一旦您點擊“正在運行的服務”,您應該會看到一個熟悉的屏幕——它與 Lollipop 的屏幕完全相同。 只是在不同的地方。


這是一個完整的答案。

第 1 步。首先你需要聲明和初始化幾個變量:-

private static final String APP_DETAILS_PACKAGE_NAME = “com.android.settings”; // Here you need to define the  package name

private static final String SCREEN_CLASS_NAME = “com.android.settings.RunningServices”; // Here you need to define the class name but NOTICE!! you need to define its full name including  package name.

步驟 2. 實例化一個意圖

Intent intent = new Intent();

步驟 3. 將操作設置為 ACTION_VIEW

intent.setAction(Intent.ACTION_VIEW);

步驟 3. 在意圖中設置類名,因為我們知道包可以有多個活動。 所以 Intent 需要一些東西來匹配包名中的 Activity。

intent.setClassName(APP_DETAILS_PACKAGE_NAME,  SCREEN_CLASS_NAME); //Here you need to set package name as well as class name so it could refer to the Package and IntentFilter of the given Activity.

步驟 4. 啟動活動

context.startActivity(intent); // As soon as this line will be executed Running Service screen will be displayed as a foreground activity.

在上面的示例中,如果您想訪問一些不同的屏幕,請根據需要更改 APP_DETAILS_PACKAGE_NAME 和 SCREEN_CLASS_NAME。

我真的不知道這種方法是否被記錄在案,但它對我來說很有魅力。

簡單的步驟

  1. 在您的設備上打開開發模式
  2. 去開發設置並嘗試找到“正在運行的服務”
  3. 結果,您將獲得運行服務列表

您簽入您的設備

1- 轉到移動設置 2- 單擊應用程序管理器 3- 向左滑動以查看正在運行的應用程序

這是您可以在運行的服務中找到正在運行的應用程序的地方,如附圖所示:

在此處輸入圖片說明

據推測,它正在ActivityManager上調用getRunningServices() 沒有直接進入該屏幕的記錄Intent

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM