открыть ссылку в магазине Google Play в мобильной версии Android

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

Uri uri = Uri.parse("url");
Intent intent = new Intent (Intent.ACTION_VIEW, uri); 
startActivity(intent);

Этот код открывает браузерную версию магазина Google Play.

При попытке открыть с моего телефона, телефон запрашивает, хочу ли я использовать браузер или Google Play, и если я выберу второй, он открывает мобильную версию Google Play Store.

Можете ли вы сказать мне, как это может произойти сразу? Я имею в виду не спрашивать меня, а напрямую открыть мобильную версию Google Play, ту, которую я вижу, открыв ее прямо с телефона.

Ответы на вопрос(6)

Решение Вопроса

Вы хотите использовать указанныйmarket протокол:

final String appPackageName = "com.example"; // Can also use getPackageName(), as below
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + appPackageName)));

Имейте в виду, что это приведет к сбою на любом устройстве, на котором не установлен Market (например, эмулятор). Следовательно, я хотел бы предложить что-то вроде:

final String appPackageName = getPackageName(); // getPackageName() from Context or Activity object
try {
    startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + appPackageName)));
} catch (android.content.ActivityNotFoundException anfe) {
    startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://play.google.com/store/apps/details?id=" + appPackageName)));
}

При использованииgetPackageName() отContext или его подкласс для согласованности (спасибо@cprcrack!). Вы можете найти больше на Market Intents здесь:ссылка на сайт.

Откройте страницу приложения в Google Play:

Intent intent = new Intent(Intent.ACTION_VIEW,
                Uri.parse("market://details?id=" + context.getPackageName()));
startActivity(intent);

Вы можете проверить, еслиGoogle Play Store приложение установлено, и, если это так, вы можете использовать"market://" протокол.

final String my_package_name = ".........&qu,ot;  // <- HERE YOUR PACKAGE NAME!!
String url = "";

try {
    //Check whether Google Play store is installed or not:
    this.getPackageManager().getPackageInfo("com.android.vending", 0);

    url = "market://details?id=" + my_package_name;
} catch ( final Exception e ) {
    url = "https://play.google.com/store/apps/details?id=" + my_package_name;
}


//Open the app page in Google Play store:
final Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
startActivity(intent);

Ниже код может помочь вам для отображения ссылки приложения Google Play болит в мобильной версии.

Для ссылки на приложение:

Uri uri = Uri.parse("market://details?id=" + mContext.getPackageName());
Intent myAppLinkToMarket = new Intent(Intent.ACTION_VIEW, uri);

  try {
        startActivity(myAppLinkToMarket);

      } catch (ActivityNotFoundException e) {

        //the device hasn't installed Google Play
        Toast.makeText(Setting.this, "You don't have Google Play installed", Toast.LENGTH_LONG).show();
              }

Для разработчика ссылка:

Uri uri = Uri.parse("market://search?q=pub:" + YourDeveloperName);
Intent myAppLinkToMarket = new Intent(Intent.ACTION_VIEW, uri);

            try {

                startActivity(myAppLinkToMarket);

            } catch (ActivityNotFoundException e) {

                //the device hasn't installed Google Play
                Toast.makeText(Settings.this, "You don't have Google Play installed", Toast.LENGTH_LONG).show();

            } 

Ты можешь использоватьAndroid Intents библиотека для открытия страницы приложения в Google Play, например:

Intent intent = IntentUtils.openPlayStore(getApplicationContext());
startActivity(intent);

Ваш ответ на вопрос