Ссылки между приложениями

Activity Lifecycle, Saving Activity State, Managing Tasks, Intent, Intent Filter
Ответить
Аватара пользователя
ITMO
Сообщения: 21
Зарегистрирован: 30 дек 2012, 21:53

Ссылки между приложениями

Сообщение ITMO » 16 мар 2013, 18:20

Ребят - возник такой вопрос.
Есть приложение. Хочу сделать ссылку на другое приложение. Если таковое существует на данном телефоне, то отправить человека на главное активити этого приложения, если не существует - то в market - как это можно реализовать?

P.S. Как сделать просто переход на другое приложение на сайте объяснено - а вот как на маркет отправить при отсутствии такового - не додумываюсь

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: Ссылки между приложениями

Сообщение rezak90 » 16 мар 2013, 18:48

вытаскиваем все приложения андроида:
http://stackoverflow.com/questions/2695 ... one-to-run
если не находите нужного то просто вызываете интент с браузером и ссылкой
R.id.team
Политика на форуме запрещена

Аватара пользователя
ITMO
Сообщения: 21
Зарегистрирован: 30 дек 2012, 21:53

Re: Ссылки между приложениями

Сообщение ITMO » 16 мар 2013, 20:41

rezak90 писал(а):вытаскиваем все приложения андроида:
http://stackoverflow.com/questions/2695 ... one-to-run
если не находите нужного то просто вызываете интент с браузером и ссылкой
Большое спасибо,
но при выполнении этого кода


final Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);
mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);
ContextWrapper context = null;
final List pkgAppsList = context.getPackageManager().queryIntentActivities( mainIntent, 0);
System.out.print(pkgAppsList);
Приложение вылетает
03-16 21:37:45.745: E/AndroidRuntime(13656): FATAL EXCEPTION: main
03-16 21:37:45.745: E/AndroidRuntime(13656): java.lang.IllegalStateException: Could not execute method of the activity
03-16 21:37:45.745: E/AndroidRuntime(13656): at android.view.View$1.onClick(View.java:2168)
03-16 21:37:45.745: E/AndroidRuntime(13656): at android.view.View.performClick(View.java:2552)
03-16 21:37:45.745: E/AndroidRuntime(13656): at android.view.View$PerformClick.run(View.java:9229)
03-16 21:37:45.745: E/AndroidRuntime(13656): at android.os.Handler.handleCallback(Handler.java:587)
03-16 21:37:45.745: E/AndroidRuntime(13656): at android.os.Handler.dispatchMessage(Handler.java:92)
03-16 21:37:45.745: E/AndroidRuntime(13656): at android.os.Looper.loop(Looper.java:138)
03-16 21:37:45.745: E/AndroidRuntime(13656): at android.app.ActivityThread.main(ActivityThread.java:3701)
03-16 21:37:45.745: E/AndroidRuntime(13656): at java.lang.reflect.Method.invokeNative(Native Method)
03-16 21:37:45.745: E/AndroidRuntime(13656): at java.lang.reflect.Method.invoke(Method.java:507)
03-16 21:37:45.745: E/AndroidRuntime(13656): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:878)

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: Ссылки между приложениями

Сообщение rezak90 » 16 мар 2013, 23:07

мда...
порадовали вот эти две строчки:

Код: Выделить всё

ContextWrapper context = null;
final List pkgAppsList = context.getPackageManager().queryIntentActivities( mainIntent, 0);
1) зачем использовать ContextWrapper, но это ещё пол беды;
2) вы вызываете метод у объекта который является нулевым.
R.id.team
Политика на форуме запрещена

Ответить