Как да проверите приложението за присъствие на пазара и какво предоставя тази информация?
Класът PackageManager може да ни каже името на пакета на приложението, което е инсталирало пакета.
За целта се използва методът getPackageManager().getInstallerPackageName(), който ще върне низ.
Например Play Market има com.google.market или com.google.market, Amazon App Store има com.amazon.venezia, а Samsung market има com.sec.android.app.samsungapps.
Но програмите от F-Droid не сочат към него, а към com.google.android.packageinstaller, сякаш потребителят ги е инсталирал сам.
Като знаете източника на инсталацията и името на пакета на самото приложение, можете да влезете в пазарите на конкретни URL адреси. Наличието на програмата на пазара вече е причина за самодоволство, в края на краищата те понякога се почистват.
Но ако приложението беше премахнато от пазара, това е сериозен сигнал за безпокойство (разбира се, можеше да бъде премахнато поради някаква глупост, като например нарушаване на чужди авторски права, но най-вероятно това беше нещо наистина лошо).
За да получите URL адреса на приложението в Play Market и F-Droid, използвайте низа
12 | Низ playStoreUrl = ”https://play.google.com/store/apps/details?id=” + име на пакет; низ fdroidStoreUrl = ”https://www.f-droid.org/packages/” + име на пакет ; |
По същия начин можете да проверите други пазари. Прост код за проверка (изпълнява се само във фонови нишки, тъй като се използва мрежата):
123456789101112131415161718 | private void checkPlayMarket(String playStoreUrl) { try { URL url = нов URL(playStoreUrl); HttpURLConnection връзка = (HttpURLConnection) url.openConnection(); връзка.setRequestMethod(”GET”); свързване. свързване (); int код = връзка.getResponseCode(); if (код == 200){ // Предлага се на пазара} if (код == 404){ // Не е на пазара } connection.disconnect(); } catch (Изключение e) { Log.e(”CheckStoreTask”, e.toString()); }} |