Как я могу проверить, установлен ли Android Market на устройстве моего пользователя? - PullRequest
6 голосов
/ 20 сентября 2011

Как я могу написать код, который может сказать мне, что на вашем телефоне установлен Android Market?

Ответы [ 2 ]

8 голосов
/ 20 сентября 2011

Есть два пути. Вы можете использовать уже упомянутые getPackageManager() и getApplicationInfo() (если пакет не найден, будет выброшено PacketManager.NameNotFoundException - см. здесь ). Название пакета Android Маркета com.android.vending.

Однако вы также можете создать фиктивное намерение для поиска на рынке и проверки его обработки. Если в результирующем списке есть хотя бы одна запись, вы можете быть уверены, что установлен Android Market:

Intent market = new Intent(Intent.ACTION_VIEW, Uri.parse("market://search?q=dummy"));
PackageManager manager = getPackageManager();
List<ResolveInfo> list = manager.queryIntentActivities(mmarket, 0);
1 голос
/ 18 января 2013

Вот что я сделал (предполагается, что браузер существует):

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


Intent website = new Intent(Intent.ACTION_VIEW).setData(Uri
        .parse("http://play.google.com/store/apps/details?id=com.example.app"));

try {

    startActivity(market);

} catch (ActivityNotFoundException e) {

    startActivity(website);

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...