User über Update in der App informieren?

P

pyretta

Ambitioniertes Mitglied
1
Hallo,

ich würde meine App-User gerne per Toast informieren, wenn es ein Update der App im Market gibt. Und gleichzeitig auch in den "About this App" automatisch anzeigen, ob die App aktuell ist oder ein Update benötigt.

Geht sowas?
Wenn ja, wie?

Kann man einfach per "If-Abfrage" die Versionsnummer im Market auslesen und mit der im Manifest vergleichen? Wie mach ich das?

Ich habe leider bei Google und auch hier im Forum nichts zu dem Thema gefunden. Aber schon bei einigen Apps, die ich installiert habe, etwas ähnliches gesehen.

Vielen Dank für Eure Antworten und Lösungsvorschläge.

Liebe Grüße
pyretta
 
du kannst die versionnummer der installierten app auslesen.

welche im market ist eher nicht

dafür solltest einfach auf deinem webserver nachfragen
 
  • Danke
Reaktionen: pyretta
Hallo swordi,

vielen Dank für deine Antwort.

Wie meinst du das mit dem Webserver?
 
naja

du musst irgendwo auf deinem server eine datei hinterlegen, die die aktuelle versionsnummer beinhaltet.

genau das rufst du ab und vergleichst
 
  • Danke
Reaktionen: pyretta
Vielen Dank.

Ich werde es versuchen. :smile:
 
Hallo nochmal..

ich hab das jetzt mal ausprobiert die Versionsnummer aus dem Manifest auszulesen wie folgt:

Code:
public final void PackageInfo(int versionCode) {
        if (versionCode == 1){
            Toast.makeText(this, 
                    "Die App ist aktuell.",
                    Toast.LENGTH_LONG).show();
        }}
Zum Testen ob es überhaupt funktioniert, habe ich eine ganz einfache If-Abfrage eingefügt, die ein Toast ausgeben soll. Aber es passiert einfach nix. :blink:

Die Info über PackageInfo etc. habe ich von hier: PackageInfo | Android Developers

Was mach ich denn falsch?
In Eclipse werden mir keine Fehler angezeigt...

EDIT:

Ich habe auch versucht "int versionCode" durch "int AndroidManifest_versionCode" zu ersetzen - führt zum gleichen Ergebnis.

Dann habe ich hier: R.styleable | Android Developers
eine andere Idee aufgeschnappt und sie wie folgt versucht umzusetzen:

Code:
public static final int AndroidManifest_versionCode(){
        int versionCode = AndroidManifest_versionCode();
        if (versionCode == 1){
            Toast.makeText(null, 
                    "Die App ist aktuell.",
                    Toast.LENGTH_LONG).show();
        }
        return versionCode;}

Aber das klappt auch nicht. (Ist auch bestimmt total durcheinander...)
 
Zuletzt bearbeitet:
hmm was soll da passieren?

ich vermute mal ganz stark dir fehlen java grundlagen.

new PackageInfo().versionCode
 
oh huch.. sorry :D hast ja schon geantwortet...

meinst du das mit dem "new PackageInfo().versionCode" so:

"versionCode = new PackageInfo().versionCode;" ?
 
Das kommt darauf an, ob du den Versions-Code in der Variable namens versionCode speichern möchtest oder nicht. Wenn du das nur in der if-Abfrage verwendest, ist das wohl unnötig - aber letztendlich kannst nur du das beantworten.
 
Hallo Thyrion,

vielen Dank für deine Antwort.

Wenn ich einfach nur "new PackageInfo().versionCode;" schreibe dann gibt mir Eclipse folgende Fehlermeldung aus: "Syntax Error, inter "AssignmentOperator Expression" to complete Expression"... deshalb habe ich gedacht, ich müsste es so schreiben: "versionCode = new PackageInfo().versionCode;"

Aber auch dann gibt mir Eclipse ein Fehler aus, erst wenn ich das so schreibe gibt Eclipse Ruhe: "versionCode = new android.content.pm.PackageInfo().versionCode;" (auch mit import android.content.pm.PackageInfo; )

Ob es Sinn macht den versionCode in der Variable namens versionCode zu speichern weiss ich nicht.

Aber es funktioniert so oder so nicht - der Toast wird nicht ausgegeben.

Nochmal für alle Fälle hier der momentan verwendete Code:

Code:
public final void PackageInfo(int versionCode) {
        versionCode = new android.content.pm.PackageInfo().versionCode;
        if (versionCode == 1){
            Toast.makeText(this, 
                    "Die App ist aktuell.",
                    Toast.LENGTH_LONG).show();
        }}
 
Da kann ich eigentlich nur swordi zitieren:
ich vermute mal ganz stark dir fehlen java grundlagen.
Du schreibst dir hier eine Methode mit dem Namen PackageInfo, der du eine Variable versionCode übergibst. Diese überschreibst du dann aber direkt und prüfst den Inhalt auf "== 1". Usw...


Du musst natürlich deine Methode auch irgendwo verwenden, sonst passiert nichts.

EDIT: Über die Sinnhaftigkeit der Benamung sage ich jetzt mal nichts ;)
 
java lernen ist hier angesagt.
 

Ähnliche Themen

M
Antworten
3
Aufrufe
144
moin
M
R
  • Robby1950
2
Antworten
23
Aufrufe
1.003
Robby1950
R
Manny87
  • Manny87
Antworten
11
Aufrufe
159
swa00
swa00
Zurück
Oben Unten