Страница 1 из 1

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

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

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

Добавлено: 11 июн 2014, 11:27
altwin
[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]

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

Добавлено: 11 июн 2014, 11:46
bydirect
Огромное спасибо!

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

Добавлено: 11 июн 2014, 11:57
bydirect
А возможно это сделать без цикла? Чтобы сразу получать ответ через if else?

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

Добавлено: 11 июн 2014, 12:02
altwin
http://stackoverflow.com/a/17133496/2611075

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

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

Добавлено: 11 июн 2014, 12:20
bydirect
Понял. Еще раз большое спасибо.