Найти пакеты и имена действий системных приложений? - PullRequest
1 голос
/ 12 августа 2011

Как мне найти имена пакетов и имена основных действий для системных приложений в motoblur и touchwiz?Я делаю приложение, но хочу, чтобы оно было универсальным, а не только Sense и стоковым Android.У меня нет телефона, работающего под управлением touchwiz или motoblur, поэтому я не знаю, как их найти.Спасибо

Ответы [ 2 ]

1 голос
/ 12 августа 2011

Обратите внимание, что вы не должны запускать действия с помощью имен пакетов / классов - системные приложения различаются в зависимости от устройства и Имена классов действий могут меняться в зависимости от обновлений приложения (я заметил, что Google Maps делал это один раз).

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

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

0 голосов
/ 12 августа 2011

Вам нужно собрать информацию об установленных приложениях на телефоне, затем пройти через list и найти нужную активность

   PackageManager packmngr = this.getPackageManager(); 
    Intent ints = new Intent(Intent.ACTION_MAIN, null)
    ints.addCategory(Intent.CATEGORY_LAUNCHER); 
    List<ResolveInfo> list = packmngr.queryIntentActivities(ints, PackageManager.PERMISSION_GRANTED); 

ints.addCategory(Intent.CATEGORY_LAUNCHER); <--- Здесь вы можете указать, какой тип <code>Intent (который разработчик другого приложения определил в манифесте) для поиска по запросу, может быть либо CATEGORY_LAUNCHER, либо CATEGORY_DEFAULT На самом деле основные виды деятельности имеют вид CATEGORY_LAUNCHER.

И тривиальная итерация в списке:

       for(ResolveInfo rlnfo: list)
        {
             //Adjust the code and do tests within here.
            Log.i("ACTIVITY INFO: ", rlnfo.activityInfo.toString());
            Log.i("ACTIVITY NAME: ",rlnfo.resolvePackageName.toString());
        }

Проверьте здесь для получения дополнительной информации о константах и ​​методах: http://developer.android.com/reference/android/content/pm/PackageManager.html

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