Как запустить приложение Amazon Shopping в приложении Android?

Я хочу иметь возможность запускать приложение Amazon Shopping из моего приложения для Android. Как это возможно? Какие параметры нужно будет ввести в Intent? Вот ссылка на приложение Amazon Shopping: https://play.google.com/store/apps/details?id=com.amazon.mShop.android.shopping&hl=en

Кроме того, как можно передать параметр глубокой ссылки, чтобы он попадал на страницу определенного продукта? Спасибо!


person code    schedule 20.11.2015    source источник


Ответы (2)


Я хотел бы иметь возможность запускать приложение Amazon Shopping из моего приложения для Android. Как это возможно? Какие параметры нужно будет ввести в Intent?

Вы можете использовать PackageManager # getLaunchIntentForPackage

startActivity(getPackageManager().getLaunchIntentForPackage("com.amazon.mShop.android.shopping"));

Кроме того, как можно передать параметр глубокой ссылки, чтобы он попадал на страницу определенного продукта?

Это зависит от того, реализует ли приложение Amazon глубокую ссылку и предоставляет intent-filter внешнему приложению. Я предполагаю, что это невозможно, но, возможно, вы можете спросить Amazon.

person Kazuki    schedule 21.11.2015
comment
Ссылка, которую вы предоставили, подходит только для магазина приложений Amazon. Я нашел эту тему SO stackoverflow.com/questions/27693062/, и, похоже, это работает на моем устройстве Intent intent = new Intent (Intent. ACTION_VIEW); intent.setData (Uri.parse (com.amazon.mobile.shopping://www.amazon.com/products/B00KWFCV32/)); startActivity (намерение); но поскольку он не задокументирован публично (или я не могу найти документ), я бы не рекомендовал его использовать (или используйте на свой страх и риск, однажды ссылка будет неработоспособна) - person Kazuki; 24.11.2015
comment
Большое спасибо, @Kazuki, за то, что это сделал! - person code; 24.11.2015

Проблема с использованием

startActivity(getPackageManager().getLaunchIntentForPackage("com.amazon.mShop.android.shopping"));

в том, что предполагается, что у пользователя установлено приложение для Android. Если его там нет, он потерпит неудачу. Итак, я решил использовать uri. Моя первая попытка заключалась в использовании документации Amazon Ссылка на Amazon из вашего приложения

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

    Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://www.amazon.com/Red-blue-Anaglyph-3D-Glasses-game-Extra/dp/B003LWYGPE/ref=pd_sim_23_1?_encoding=UTF8&pd_rd_i=B003LWYGPE&pd_rd_r=3REW4891981B4R6WAB66&pd_rd_w=NcbkD&pd_rd_wg=GDhOT&psc=1&refRID=3REW4891981B4R6WAB66"));
    startActivity(browserIntent);

Он открыл поиск в браузере с возможностью открыть приложение. Я предполагаю, что можно сначала попытаться пройти маршрут приложения Amazon и, если это не удастся, открыть эту версию браузера.

person user6627139    schedule 16.08.2017