Узнайте название класса apk - PullRequest
4 голосов
/ 01 августа 2011

Я занимаюсь разработкой приложения, которое должно запускать другое приложение, установленное на телефоне. В настоящее время я успешно запускаю Facebook, так как ActivityPackage и ActivityClass известны. Я хочу запустить другие приложения, такие как twitter, gplus, gtalk, gmail и т. Д. Как узнать соответствующие имена классов? Узнать имя пакета легко с помощью packagemanager, но я не могу найти имя класса с тем же методом.

Ответы [ 3 ]

2 голосов
/ 01 августа 2011

Я занимаюсь разработкой приложения, которое должно запускать другое приложение, установленное на телефоне.

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

В настоящее время я успешно запускаю Facebook, так как ActivityPackage и ActivityClass известны.

Don 'сделать это.

Видите ли, вы должны понимать, что Facebook может обновлять свое приложение в любое время, изменяя действия, выбранные Facebook.Вы должны понимать, что когда Facebook сделает это, любой код, который зависел от исходной недокументированной, неподдерживаемой структуры Intent (например, классов), сломается.Вы должны понимать, что сломанное приложение приведет к тому, что пользователи будут давать ему плохие оценки и комментарии на Маркете и т. Д.

Я хочу запустить другие приложения, такие как twitter, gplus, gtalk, gmail и т. Д.Как узнать соответствующие имена классов?

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

2 голосов
/ 01 августа 2011

Я предполагаю, что вы не пытаетесь сделать это во время выполнения ...

android-apktool может расширить манифесты пакетов, которые вас интересуют. Это скажет вам, какие действия доступны и какие фильтры намерений применяются.

0 голосов
/ 03 октября 2013

Ознакомьтесь с этим кодом Python, чтобы понять, как получить имя пакета / действия:

http://voyager.wordpress.com/

Этот веб-сайт предоставляет скрипт Python для анализа вывода "AAPT ».

...