2014-01-04 2 views
1

Я хочу реализовать приложение, которое может обнаружить, что приложение запущено, что-то сделать с этим!Как я могу обнаружить любимое приложение для Android?

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

Как я могу это сделать?

ответ

1

это не по возможности .. чтобы иметь возможность контролировать все намерения бы андроида крайне небезопасным

http://groups.google.com/group/andro...ddc9d36a24d77b

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

Код:

ActivityManager am = (ActivityManager)getSystemService(Context.ACTIVITY_SERVICE); 
List<ActivityManager.RunningAppProcessInfo> runningAppProcessInfo = am.getRunningAppProcesses(); 

однако знать, когда приложение запускается вам потребуется синхронизированная петля, а затем проверить между версиями списка, чтобы увидеть, если есть новое приложение. это сосало бы сок и было бы полезно

AppProtector, похоже, имеет доступ к журналу событий. может быть, вы могли бы иметь ContentObserver, прикрепленный к событию журнал http://developer.android.com/referen.../EventLog.html http://developer.android.com/referen...tObserver.html

EDIT

Интересно. Я также нашел это, чтобы решить вашу проблему.

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

Код:

String str = ((ActivityManager.RunningTaskInfo)this.am.getRunningTasks(1).get(0)).topActivity.getPackageName(); 
+0

Привет Hardik, я буду смотреть на ваш код, и ответит, вы :) спасибо за настоящее –

+0

ок !!!! если вы нашли полезным :) – Hardik