Ответ 1
Да, для этого есть документированный синтаксис Intent
(http://market.android.com/search?q=pub:<Developer Name>
или market://search?q=pub:<Developer Name>
).
Я создаю много приложений для Android и хочу иметь кнопку меню в приложениях, которая в основном открывает список моих других приложений на Android Market.
Есть ли способ создать намерение и показать рынок Android с поиском (моей компании) на рынке, чтобы пользователи могли покупать другие приложения?
Иан
Да, для этого есть документированный синтаксис Intent
(http://market.android.com/search?q=pub:<Developer Name>
или market://search?q=pub:<Developer Name>
).
Еще лучше использовать "market://details" вместо "market://search":
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("market://details?id=com.android.example"));
startActivity(intent);
Затем он открывает непосредственно страницу сведений о приложении. При поиске он отображает один результат поиска, и пользователь должен сделать дополнительный щелчок, чтобы перейти на страницу сведений.
Предметом намерения будет просмотр, а uri - url/uri на рынке.
Вот так:
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://search?q=pub:<developer name>") ) );
Другой способ - запустить 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
На моих реальных устройствах Sony Xperia Pro и планшет PocketBook, даже когда вы помещаете ссылку для воспроизведения веб-магазина, например. https://play.google.com/store/apps/details?id=com.estrongs.android.pop Он спросит, хотите ли вы открыть его в браузере по умолчанию или на игровом рынке. Если вы выберете Play Market - приложение отображается как ожидалось. Не тестировал его с намерением, протестировал его с помощью Autolink из TextView.
@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);
}