Android намеревается просмотреть элемент с помощью приложения Amazon на устройстве, а не в браузере

StackOverflow https://stackoverflow.com//questions/21059641

Вопрос

В моем приложении для Android у меня есть кнопка с фоновым изображением продукта Amazon.com (скажем, рубашки или чего-то еще), и при нажатии я бы хотел, чтобы она открывалась в приложении Amazon (com.amazon.mShop.android), если оно уже установлено, а не в браузере, и в браузере, если приложение не установлено.

Мне удалось найти, как добавить глубокую ссылку на конкретное клиентское приложение Amazon, но не как перейти по ссылке на конкретный элемент, который открывался бы с помощью open with the Amazon app.

В настоящее время мой прослушиватель кликов открывается в браузере, выполнив следующие действия:

b3.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            Intent intent = new Intent();
            intent.setAction(Intent.ACTION_VIEW);
            intent.addCategory(Intent.CATEGORY_BROWSABLE);
            intent.setData(Uri.parse(urlOfItemOnAmazonSite));
            startActivity(intent);
        }
    })
Это было полезно?

Решение

Домашняя страница разработчика Amazon, вероятно, является лучшим местом для этого ответа.Это может быть хорошим началом: https://developer.amazon.com/public/apis/earn/in-app-purchasing/docs/deeplink#Link%20Configuration.Здесь они объясняют, как построить Uri вам нужно будет использовать для установки данных о намерениях.

Конечно, вы можете захотеть быть осторожным и обернуть startActivity в try/catch на случай, если Amazon не установлен и выдает ошибку ActivityNotFoundException

Другие советы

Вы можете просто сделать следующее:

b3.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
       Uri uri=Uri.parse(productUrl);
       Intent intent=new Intent(Intent.ACTION_VIEW,uri);
        startActivity(intent);
    }
})
.

// Примечание. Извлечение URL-адреса хранилища продукта в VAR ProductuRL (или любая другая var) и // анализируют его.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top