[JAVA] Die Geschichte, dass das erzwungene Update nicht implementiert werden konnte

Was geschrieben steht

  1. Warum das erzwungene Update nicht durchgeführt werden konnte
  2. So erhalten Sie die Version direkt aus dem Play Store (Alternative)

Der Grund, warum das erzwungene Update nicht durchgeführt werden konnte

--Wenn Sie die im internen Test erstellte apk auf dem tatsächlichen Computer installieren Es gab Zeiten, in denen der Dialog angezeigt wurde, und Zeiten, in denen er nicht angezeigt wurde.

So erhalten Sie die Version direkt aus dem Play Store (Alternative)

MainActivity.java


public class MainActivit {
@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //Variable zum Setzen einer http-Anfrage
        Uri.Builder builder = new Uri.Builder();
        AsyncHttpRequest task = new AsyncHttpRequest(this);
        //Finden Sie die Version der App im Store heraus
        task.execute(builder);
}

AsyncHttpRequest.java


//Asynchrone Kommunikationsklasse führt zu einem Fehler
public class AsyncHttpRequest extends AsyncTask<Uri.Builder, Void, String> {
    /**
     *Anruferaktivität
     */
    private Activity mainActivity;
    /**
     *App-Version speichern
     */
    private String newVersion;
    /**
     *Geteilte Ressourcen
     */
    private SharedPreferences sharedPreferences;

    public AsyncHttpRequest(Activity activity) {
        //Anruferaktivität
        this.mainActivity = activity;
    }

    @Override
    protected String doInBackground(Uri.Builder... builder) {
        //http Anfrage werfen Prozess
        this.newVersion = "";
        String lang = getLocaleLang();
        try {
            //Informationen zum Zeitpunkt der Kommunikation werden in einer konstanten Klasse zusammengefasst
            this.newVersion = Jsoup.connect(PlayStoreConstants.STORE_BASE_URL + PlayStoreConstants.STORE_ID + "&locale=" + lang)
                    .timeout(PlayStoreConstants.TIMEOUT)
                    .userAgent("Mozilla/5.0 (Windows; U; WindowsNT 5.1; en-US; rv1.8.1.6) Gecko/20070725 Firefox/2.0.0.6")
                    .referrer(PlayStoreConstants.REFERRER)
                    .get()
                    .select(PlayStoreConstants.CSS_QUERY)
                    .get(7)
                    .ownText();
            //Speichern Sie die Store-Version und verwenden Sie sie in Aktivität
            sharedPreferences = this.mainActivity.getSharedPreferences("version", MODE_PRIVATE);
            SharedPreferences.Editor editor = sharedPreferences.edit();
            editor.putString("storeVersion", this.newVersion);
            editor.apply();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return this.newVersion;
    }
   /**
     *Methode zum Abrufen der Sprache des Terminals
     */
    public String getLocaleLang() {
        String localeLanguage = Locale.getDefault().getLanguage();
        return localeLanguage;
    }
}

PlayStoreConstants.java


/**
 *Konstante Klasse der Playstore-Kommunikation
 */
public class PlayStoreConstants {
    /**
     *URL speichern
     */
    public static final String STORE_BASE_URL = "https://play.google.com/store/apps/details?id=";
    /**
     *ID speichern
     */
    //https://play.google.com/store/apps/details?id=Hoge Teil von Hoge
    public static final String STORE_ID = "hoge";
    /**
     *URL des Bildschirms zum Speichern von Details
     */
    public static final String STORE_DETAIL_URL = "market://details?id=";
    /**
     *Kommunikations-Timeout-Zeit speichern
     */
    public static final int TIMEOUT = 30000;
    /**
     *Referrer-Header
     * (Um HTTP 403-Fehler zu vermeiden)
     */
    public static final String REFERRER = "http://www.google.com";
    /**
     *CSS-Abfrage
     */
    public static final String CSS_QUERY = ".hAyfc .htlgb";
}

Recommended Posts

Die Geschichte, dass das erzwungene Update nicht implementiert werden konnte
Die Geschichte, dass das Servlet nicht in die Java-Webanwendung geladen werden konnte
Die Geschichte, dass der Anforderungsparameter aus der iPhone-Anwendung mit dem Servlet nicht erfolgreich abgerufen werden konnte
Die Geschichte des Anhaltens, weil der Schienentest nicht durchgeführt werden konnte
Entspricht "Fehler, dass die Basisauthentifizierung nicht bestanden wird" im Testcode "Die Geschichte, die nicht gemacht werden konnte".
Der Fall, in dem das in der "Docker-Datei" definierte "apt-get update" während des "Docker-Compose-Builds" nicht ausgeführt werden konnte.
Die Geschichte, die ich nach der Installation mehrerer Java unter Windows nicht erstellen konnte
Das Problem, dass der Test nicht über die Befehlszeile mit Spring-Boot-Starter-Test ausgeführt werden konnte, wurde behoben
Die Geschichte, dass die vom Java-Konstruktor aufgerufene Methode zur Variableninitialisierung nicht überschrieben werden sollte
[Gradle] Die Geschichte, dass die Klassendatei nicht in der JAR-Datei vorhanden war
Ein Memo über den Fall, dass das Einfügen mit Spring Data JDBC nicht durchgeführt werden konnte
[Rails] Eine Geschichte, die weiterhin fälschlicherweise den Grund überprüfte, warum die Aktualisierungsaktion nicht bestanden wurde (Aktualisierung)
Die Geschichte, dass der Erstellungsfehler bei Verwendung von Eclipse 2020 nicht aufgehört hat
[Java] Die Geschichte, dass das erwartete Array nicht von der String.split-Methode erhalten wurde.
JSESSIONID konnte bei Verwendung von Spring Security nicht der URL zugewiesen werden
Nachdem ich das Montyhall-Problem mit Ruby überprüft hatte, war es eine Geschichte, die ich gut verstehen konnte und die ich nicht gut verstand
[CentOS8] Da der Befehl javac nicht verwendet werden konnte, installieren Sie die Java-Entwicklungsumgebung.
Ich wusste nicht, dass innere Klassen in der [Java] -Schnittstelle definiert werden können
ValidationMessages.properties sollte im Klassenpfad nicht mehrfach sein
Die Geschichte, dass link_to tief ist (Ursache unbekannt)
Eine Geschichte über das Erstellen eines Builders, der den Builder erbt
Die Geschichte, dass der Port im Spring-Boot-Beispielprogramm unbrauchbar wird
[Spring Boot] Die Geschichte, dass die Bean der Klasse mit der Annotation ConfigurationProperties nicht gefunden wurde