Как проверить все запущенные сервисы в Android? - PullRequest
14 голосов
/ 02 апреля 2011

Я хочу получить доступ и посмотреть, сколько и какие службы работают в фоновом режиме.

Мне нужна та же функциональность, к которой мы можем получить доступ

Меню-> Настройка-> Приложения-> Работающие службы

на нашей базе Android мобильных телефонов или вкладок. Кто-нибудь может сказать мне, какие функции или классы были использованы в исходном коде Android для обеспечения этой функциональности.

И если есть какой-нибудь способ, с помощью которого я могу получить доступ к этому встроенному списку фоновых запущенных сервисов, который я упомянул выше, тогда, пожалуйста, скажите мне, потому что лучше использовать встроенный сервис вместо совершенно новый.

Ответы [ 4 ]

10 голосов
/ 11 октября 2017

Проверьте эту ссылку:

Как получить доступ к списку запущенных приложений Android в версии 6.0 Marshmallow и выше


Где найти работающие службы в Android 6.0 Как я уже отмечал ранее, на

Android 5.x и ниже, вы можете увидеть, что происходит, прыгнув в Настройки> Приложения> Запуск. Это показывает как запущенные процессы и услуг, а также сколько памяти (ОЗУ) используется системой и Приложения, а также сколько еще доступно.


Чтобы найти то же самое меню в «Зефире», сначала необходимо включить Параметры разработчика. Сделайте это, зайдя в Настройки, затем О телефоне.


Оказавшись там, найдите раздел информации о программном обеспечении, который будет отдельным запись на некоторых телефонах (Samsung, LG), но не на других, например Nexus устройства. Вы ищете номер сборки, поэтому вам, возможно, придется тыкать немного, прежде чем вы найдете это. first two images below были приняты от Samsung Galaxy S7 Edge, и последний от Nexus 6P. Как видите, сборка находится в двух разных местах.



Когда вы найдете его, коснитесь его семь раз. Вы увидите тост уведомление, сообщающее вам, сколько осталось до тех пор, пока вы не станете разработчик. »После того, как оно было нажано семь раз, новое меню будет разблокирована чуть выше About Phone в главном меню настроек.


Вернитесь в Настройки, зайдите в Настройки разработчика. Вы должны увидеть «Бег услуги », немного вниз по этому меню - это то, что вы ищете. После того, как вы нажмете «Запуск сервисов», вы получите знакомый экран - точно такой же, как у Lollipop. Просто в другое место.


6 голосов
/ 07 декабря 2011

Вот полный ответ.

Шаг 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 значение 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. Запустите Activity

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 голос
/ 01 июля 2017

Вы регистрируетесь в своем устройстве

1- Перейти к настройке мобильного телефона 2- Нажмите на менеджер приложений 3- Проведите влево, чтобы увидеть запущенные приложения

Это место, где вы найдете запущенные приложения вместе с запущенными сервисами, как показано на прикрепленном изображении:

enter image description here

1 голос
/ 02 апреля 2011

Предположительно, он звонит getRunningServices() на ActivityManager. Нет задокументированного Intent, чтобы сразу перейти к этому экрану.

...