Открытая ссылка google play store в мобильной версии Android
У меня есть ссылка на другие приложения в моем последнем приложении, и я открываю их таким образом.
Uri uri = Uri.parse("url");
Intent intent = new Intent (Intent.ACTION_VIEW, uri);
startActivity(intent);
эти коды открывают версию браузера google play в браузере.
При попытке открыть с моего телефона телефон подскажет, хочу ли я использовать браузер или Google Play, и если я выберу второй, откроется мобильная версия магазина воспроизведения Google.
Можете ли вы рассказать мне, как это может произойти сразу? Я имею в виду не спрашивать меня, а напрямую открывать мобильную версию игры Google, которую я вижу, открывая ее прямо с телефона.
Ответы
Ответ 1
Вы хотите использовать указанный протокол 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!). Вы можете найти более подробную информацию о рыночных намерениях здесь: ссылка.
Ответ 2
Ниже приведен код, который может помочь вам в отношении ссылки на приложение с изображением google play sore в мобильной версии.
Ссылка на приложение:
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();
}
Ответ 3
Вы можете использовать Android Intents для открытия вашей страницы приложения в Google Play:
Intent intent = IntentUtils.openPlayStore(getApplicationContext());
startActivity(intent);
Ответ 4
Документация на d.android.com: http://developer.android.com/distribute/googleplay/promote/linking.html
Ответ 5
Вы можете проверить, установлено ли приложение Google Play Store, и если это так, вы можете использовать протокол "market://".
final String my_package_name = "........." // <- 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);
Ответ 6
Откройте страницу приложения в Google Play:
Intent intent = new Intent(Intent.ACTION_VIEW,
Uri.parse("market://details?id=" + context.getPackageName()));
startActivity(intent);
Ответ 7
Хорошо это хорошо
И я буду нуждаться в твоей помощи, потому что спасибо.
Ответ 8
Попробуй это:
Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.google.com"));
startActivity(browserIntent);
Это прекрасно работает для меня.
Что касается отсутствующего "http://", я бы просто сделал что-то вроде этого:
if (!url.startsWith("http://example.com") && !url.startsWith("https://play.google.com/store/apps/details?id=com.CRE8.Example"))
url = "http://" + url;
Я бы также, вероятно, предварительно заполнил ваш EditText, чтобы пользователь вводил URL с помощью "http://".