Я открыл магазин Google Play, используя следующий код
Intent i = new Intent(android.content.Intent.ACTION_VIEW);
i.setData(Uri.parse("https://play.google.com/store/apps/details?id=my packagename "));
startActivity(i);.
Но он показывает мне полный вид действия как выбрать опцию (браузер / магазин воспроизведения). Мне нужно открыть приложение в Play Store напрямую.
android
android-intent
google-play
Раджеш Кумар
источник
источник
Ответы:
Вы можете сделать это, используя
market://
префикс .Мы используем
try/catch
блок здесь, потому чтоException
будет брошено, если Play Store не установлен на целевом устройстве.ПРИМЕЧАНИЕ : любое приложение может зарегистрироваться как способное обрабатывать
market://details?id=<appId>
Uri, если вы хотите специально настроить Google Play, проверьте ответ Berťákисточник
market://search?q=pub:"+devName
иhttp://play.google.com/store/search?q=pub:"+devName
appPackageName
это на самом делеBuildConfig.APPLICATION_ID
. НетContext
/Activity
зависимостей, снижая риск утечек памяти.Многие ответы здесь предлагают использовать
Uri.parse("market://details?id=" + appPackageName))
для открытия Google Play, но на самом деле этого недостаточно :Некоторые сторонние приложения могут использовать свои собственные фильтры намерений с
"market://"
определенной схемой , поэтому они могут обрабатывать предоставленный Uri вместо Google Play (я сталкивался с такой ситуацией в приложении egSnapPea). Вопрос «Как открыть Google Play Store?», Поэтому я предполагаю, что вы не хотите открывать какие-либо другие приложения. Также обратите внимание, что, например, рейтинг приложения относится только к приложению GP Store и т. Д.Чтобы открыть Google Play И ТОЛЬКО Google Play, я использую этот метод:
Дело в том, что когда наши приложения могут открыть больше приложений, кроме Google Play, диалоговое окно выбора приложений пропускается, и приложение GP запускается напрямую.
ОБНОВЛЕНИЕ: Иногда кажется, что он открывает только приложение GP, не открывая профиль приложения. Как Тревор Уайли предложил в своем комментарии,
Intent.FLAG_ACTIVITY_CLEAR_TOP
может решить проблему. (Я сам еще не проверял ...)Посмотрите этот ответ для понимания того, что
Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED
делает.источник
rateIntent.setPackage("com.android.vending")
будете уверены, что приложение PlayStore выполнит эту задачу вместо всего этого кода?Перейдите по официальной ссылке Android Developer как учебное пособие, шаг за шагом посмотрите и получите код для вашего пакета приложений из магазина Play Store, если он существует, или приложений Play Store не существует, затем откройте приложение из веб-браузера.
Официальная ссылка для разработчиков Android
https://developer.android.com/distribute/tools/promote/linking.html
Ссылка на страницу приложения
С веб-сайта:
https://play.google.com/store/apps/details?id=<package_name>
Из приложения для Android:
market://details?id=<package_name>
Ссылка на список товаров
С веб-сайта:
https://play.google.com/store/search?q=pub:<publisher_name>
Из приложения для Android:
market://search?q=pub:<publisher_name>
Ссылка на результат поиска
С веб-сайта:
https://play.google.com/store/search?q=<search_query>&c=apps
Из приложения для Android:
market://search?q=<seach_query>&c=apps
источник
market
вы не найдете никакого решения. Я думаю, что новый способ состоит в том, чтобы запустить более общее намерение developer.android.com/distribute/marketing-tools/… . Более поздние версии приложения Play Store, вероятно, имеют фильтр намерений для этого URIhttps://play.google.com/store/apps/details?id=com.example.android
попробуй это
источник
Все приведенные выше ответы открывают Google Play в новом представлении того же приложения, если вы действительно хотите открыть Google Play (или любое другое приложение) независимо:
Важной частью является то, что на самом деле открывает Google Play или любое другое приложение независимо.
Большая часть того, что я видел, использует подход других ответов, и это было не то, что мне нужно, надеюсь, это кому-нибудь поможет.
С уважением.
источник
this.cordova
? Где объявления переменных? Гдеcallback
объявлено и определено?Вы можете проверить, установлено ли приложение Google Play Store , и, если это так, вы можете использовать протокол "market: //" .
источник
В то время как ответ Эрика правильный, и код Берняка тоже работает. Я думаю, что это сочетает в себе более элегантно.
Используя
setPackage
, вы заставляете устройство использовать Play Store. Если не установлен Play Store,Exception
он будет пойман.источник
https://play.google.com/store/apps/details?id=
вместоmarket:
Каким образом? developer.android.com/distribute/marketing-tools/… Все еще полный и краткий ответ.использовать рынок: //
источник
Ты можешь сделать:
получить ссылку здесь :
Вы также можете попробовать подход, описанный в принятом ответе на этот вопрос: невозможно определить, установлен ли магазин Google Play на устройстве Android или нет.
источник
Очень поздно на вечеринке Официальные документы здесь. И код описан
Когда вы настроите это намерение, перейдите
"com.android.vending"
к нему,Intent.setPackage()
чтобы пользователи могли видеть детали вашего приложения в приложении Google Play Store, а не в окне выбора . для КОТЛИНЕсли вы опубликовали мгновенное приложение с помощью Google Play Instant, вы можете запустить его следующим образом:
Для КОТЛИНА
источник
Uri.parse("https://play.google.com/store/apps/details?id=
. На некоторых устройствах вместо Play Market открывается веб-браузер.Поскольку официальные документы используют
https://
вместо этогоmarket://
, это объединяет ответ Эрика и M3-n50 с повторным использованием кода (не повторяйте себя):Он пытается открыть приложение GPlay, если оно существует, и возвращается к значению по умолчанию.
источник
Готовое решение:
На основании ответа Эрика.
источник
Котлин:
Расширение:
Метод:
источник
Если вы хотите открыть магазин Google Play из своего приложения, то используйте эту команду сразу:
market://details?gotohome=com.yourAppName
откроются страницы вашего приложения в магазине Google Play.Показать все приложения определенного издателя
Поиск приложений, использующих запрос в заголовке или описании
Ссылка: https://tricklio.com/market-details-gotohome-1/
источник
Котлин
источник
источник
Моя функция энтузиазма kotlin для этой цели
И в твоей деятельности
источник
Вот заключительный код из приведенных выше ответов, который сначала пытается открыть приложение с помощью приложения Google Play Store и, в частности, Play Store, в случае сбоя он запускает представление действия с помощью веб-версии: Credits to @Eric, @Jonathan Caballero
источник
Эта ссылка автоматически откроет приложение в market: // если вы работаете на Android и в браузере, если вы на ПК.
источник
https://play.app.goo.gl/?link=https://play.google.com/store/apps/details?id=com.app.id&ddl=1&pcampaignid=web_ddl_1
Я объединил ответ Берляка и Стефано Мунарини на создание гибридного решения, которое обрабатывает сценарии « Оцените это приложение» и « Показать больше приложений» .
Применение
источник
Народы, не забывайте, что вы могли бы получить что-то большее от этого. Я имею в виду отслеживание UTM например. https://developers.google.com/analytics/devguides/collection/android/v4/campaigns
источник
Котлинская версия с резервным и текущим синтаксисом
источник