присъствие

Как да проверите приложението за присъствие на пазара и какво предоставя тази информация?

Класът 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/” + име на пакет ;

По същия начин можете да проверите други пазари. Прост код за проверка (изпълнява се само във фонови нишки, тъй като се използва мрежата):

123456789101112131415161718private 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()); }}