Обратите внимание, что для того, чтобы сделать действия более ожидаемыми для конечного пользователя, вы должны рассмотреть возможность добавления некоторых флагов намерений.
Я предлагаю:
String appPackageName= getPackageName();
Intent marketIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id="+appPackageName));
marketIntent.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY | Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET|Intent.FLAG_ACTIVITY_MULTIPLE_TASK|Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(marketIntent);
Таким образом, когда пользователь нажимает назад, он попадет в ваше приложение и не останется на рынке (если он был там раньше). Кроме того, если пользователь снова открыл ваше приложение (после того, как оно ушло в фоновый режим), рынок не появится.
Вы также можете добавить уловку попытки для вызова startActivity()
, чтобы вы могли показать веб-сайт приложения, если рынок недоступен (либо удален каким-либо образом, либо потому, что компания устройства не включала это).
РЕДАКТИРОВАТЬ: другой альтернативой является Как использовать Intent.ACTION_APP_ERROR в качестве средства для платформы «обратной связи» в Android?