2013-10-24 8 views
0

Как обнаружить домашнюю активность запускается/отображается с использованием информации о пакете. как мы получаем имя пакета с помощью этого кода:Как обнаружить активность дома в Android?

ActivityManager.RunningTaskInfo localRunningTaskInfo = (ActivityManager.RunningTaskInfo)((ActivityManager)context.getSystemService("activity")).getRunningTasks(1).get(0); 
String str1 = localRunningTaskInfo.topActivity.getPackageName(); 
String str2 = localRunningTaskInfo.topActivity.getClassName(); 

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

ответ

0

Вы можете использовать ActivityManager, чтобы получить это. Ниже приведен пример кода:

ActivityManager am = (ActivityManager) this.getSystemService(ACTIVITY_SERVICE); 


// get the info from the currently running task 
List<ActivityManager.RunningTaskInfo> taskInfo = am.getRunningTasks(1); 

Log.d("topActivity", "CURRENT Activity ::" + taskInfo.get(0).topActivity.getClassName()); 

ComponentName componentInfo = taskInfo.get(0).topActivity; 
String packageName = componentInfo.getPackageName(); 

Вам потребуется следующее разрешение на манифеста:

uses-permission android:name="android.permission.GET_TASKS" 

Example Project

От LogCat вы можете увидеть, деятельность которой lanched ..

+0

как проверить, является ли его имя пакета пакета запуска, например if (packageName.equals (HOME_ACTIVITY_PACKAGE)) {} –

+0

@yuva, если вы получаете имя активности в журнале, тогда сохраните это в строке и сравните с этим. – Hariharan

+0

Чтение logcat не поддерживается в android 4.1 и выше. поэтому мне нужно имя пакета home launcher. Как я могу получить его для разных устройств. он отличается для разных устройств. –

 Смежные вопросы

  • Нет связанных вопросов^_^