Android Link to Market из другого приложения

Я создаю много приложений для Android и хочу иметь кнопку меню в приложениях, которая в основном открывает список моих других приложений на Android Market.

Есть ли способ создать намерение и показать рынок Android с поиском (моей компании) на рынке, чтобы пользователи могли покупать другие приложения?

Иан

Ответы

Ответ 2

Еще лучше использовать "market://details" вместо "market://search":

Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("market://details?id=com.android.example"));
startActivity(intent);

Затем он открывает непосредственно страницу сведений о приложении. При поиске он отображает один результат поиска, и пользователь должен сделать дополнительный щелчок, чтобы перейти на страницу сведений.

Ответ 3

Предметом намерения будет просмотр, а uri - url/uri на рынке.

Вот так:

startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://search?q=pub:<developer name>") ) );

Ответ 4

Другой способ - запустить URL Intent с именем своего приложения в нем. Пользователь получит всплывающее окно со списком установленного приложения Браузеры + Play Store, в котором он сможет просмотреть ваше целевое приложение.

String appPackageName = "com.example.android";
String url = "https://play.google.com/store/apps/details?id=" + appPackageName;
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse(url));
startActivity(intent);

Выше кода проверен и работает как ожидается в Play Store версии 4.1.6

Ответ 5

На моих реальных устройствах Sony Xperia Pro и планшет PocketBook, даже когда вы помещаете ссылку для воспроизведения веб-магазина, например. https://play.google.com/store/apps/details?id=com.estrongs.android.pop Он спросит, хотите ли вы открыть его в браузере по умолчанию или на игровом рынке. Если вы выберете Play Market - приложение отображается как ожидалось. Не тестировал его с намерением, протестировал его с помощью Autolink из TextView.

Ответ 6

@Override
public boolean onOptionsItemSelected(MenuItem item) {
     switch(item.getItemId()) {
         case R.id.adfree:
             final String appPackageName = "com.zooohooo.noads"; // Can also use getPackageName(), as below
             startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + appPackageName)));
             return true;
         case R.id.rate:
             startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + getPackageName())));
             return true;
     }
     return super.onOptionsItemSelected(item);
}