Проверка приложения на запуск

Activity Lifecycle, Saving Activity State, Managing Tasks, Intent, Intent Filter
Ответить
bydirect
Сообщения: 70
Зарегистрирован: 11 июн 2014, 10:36

Проверка приложения на запуск

Сообщение bydirect » 11 июн 2014, 10:42

Добрый день. Подскажите пожалуйста как можно проверить запущено ли приложение в системе зная только имя пакета. Например нужно узнать запущено ли приложение facebook имя пакета: com.facebook.katana

Аватара пользователя
altwin
Сообщения: 1951
Зарегистрирован: 13 ноя 2013, 14:46

Re: Проверка приложения на запуск

Сообщение altwin » 11 июн 2014, 11:27

[syntax=java5]
ActivityManager activityManager = (ActivityManager) this.getSystemService( ACTIVITY_SERVICE );
List<RunningAppProcessInfo> procInfos = activityManager.getRunningAppProcesses();
for(int i = 0; i < procInfos.size(); i++)
{
if(procInfos.get(i).processName.equals("com.facebook.katana"))
{
Toast.makeText(getApplicationContext(), "Katana is running", Toast.LENGTH_LONG).show();
}
}
[/syntax]
Изображение

bydirect
Сообщения: 70
Зарегистрирован: 11 июн 2014, 10:36

Re: Проверка приложения на запуск

Сообщение bydirect » 11 июн 2014, 11:46

Огромное спасибо!

bydirect
Сообщения: 70
Зарегистрирован: 11 июн 2014, 10:36

Re: Проверка приложения на запуск

Сообщение bydirect » 11 июн 2014, 11:57

А возможно это сделать без цикла? Чтобы сразу получать ответ через if else?

Аватара пользователя
altwin
Сообщения: 1951
Зарегистрирован: 13 ноя 2013, 14:46

Re: Проверка приложения на запуск

Сообщение altwin » 11 июн 2014, 12:02

http://stackoverflow.com/a/17133496/2611075

P.S. вы первом ответе procInfos - это обычный объект типа list и перебор всех элементов довольно частый путь в java для поиска вхождения строки, там есть конечно стандартные методы. но их я не помню, нужно искать в документации java.
Изображение

bydirect
Сообщения: 70
Зарегистрирован: 11 июн 2014, 10:36

Re: Проверка приложения на запуск

Сообщение bydirect » 11 июн 2014, 12:20

Понял. Еще раз большое спасибо.

Ответить