1. Wir haben diesmal 2 Gewinnspiele zeitgleich für euch - Gewinne einmal ein UMI Plus E - Beim 2ten könnt ihr ein Nomu S30 gewinnen!
  1. Chaoz, 28.05.2010 #1
    Chaoz

    Chaoz Threadstarter Android-Hilfe.de Mitglied

    Hi Leute,

    nachdem ich meine App in den Appstore gestellt habe,
    bekomm ich nun von div. Leuten supportmeldungen, weil ihre Registrierung Fehlgeschlagen ist.

    Auf meinen 8 Geräten läuft alles super... (Android 1.5 - 2.1)
    die zweite Zeile

    Code:
    TelephonyManager mTelephonyMgr = (TelephonyManager) m_oActivity.getSystemService(Context.TELEPHONY_SERVICE);
    String strImei = mTelephonyMgr.getDeviceId();
    scheint "" zurückzugeben... aber warum????? =(=(=(

    Ich bin für jeden Rat dankbar!
    Gruß
    Chaoz

    new edit:
    "getDeviceId()" gibt nicht immer die IMEI oder MEID aus, sondern auch "andere" IDs, welche insgesamt nicht eineindeutig sind. =/ (siehe post 2te seite)
     
    Zuletzt bearbeitet: 01.06.2010
  2. the_alien, 28.05.2010 #2
    the_alien

    the_alien Android-Lexikon

    Weisst du welche User das schreiben? Immerhin kann getDeviceId() auch null zurückgeben wenn keine Device ID da ist, so zum Beispiel bei Tablets!
     
  3. Chaoz, 28.05.2010 #3
    Chaoz

    Chaoz Threadstarter Android-Hilfe.de Mitglied

    Leider nicht, aber so viele nicht-Smartphone Geräte gibt es glaube noch gar nicht oder? Der Fehler tritt ja bei mehreren Usern auf.

    Ein "Workarround" wäre
    Code:
    System.getProperty(Settings.Secure.ANDROID_ID)
    Aber ich checke serverseitig auf die Richtigkeit der Imei, der umbauaufwand wäre einfach zu groß. =(

    Noch jmd eine Idee?
     
  4. the_alien, 28.05.2010 #4
    the_alien

    the_alien Android-Lexikon

    Zuletzt bearbeitet: 28.05.2010
  5. Chaoz, 28.05.2010 #5
    Chaoz

    Chaoz Threadstarter Android-Hilfe.de Mitglied

    hm,... ist nur die frage warum er nicht fertig ist und warum der fehler bei mir nicht auftritt =/
    Ich würde maximal versuchen ein "wenn fehler, dann versuchs nochmal" machen... aber das kann keine lösung sein ^^
     
  6. the_alien, 28.05.2010 #6
    the_alien

    the_alien Android-Lexikon

    Nein, eine Lösung ist das definitiv nicht. Mal im #android-dev channel auf Freenode fragen?
     
  7. BeRo, 28.05.2010 #7
    BeRo

    BeRo Android-Hilfe.de Mitglied

    Du brauchst die "android.permission.READ_PHONE_STATE" Permission in deinem Manifest, damit es überhaupt korrekt funktionieren kann.
     
  8. the_alien, 28.05.2010 #8
    the_alien

    the_alien Android-Lexikon

    Muss er doch haben, sonst hätte es geknallt.
     
  9. Konni, 29.05.2010 #9
    Konni

    Konni Android-Hilfe.de Mitglied

    Vielleicht testweise mal einen Timer einbauen, der im Sekundentakt versucht die IMEI auszulesen, wenn beim ersten Versuch null zurückkam.

    Immer ärgerlich, wenn man einen Bug nicht selbst reproduzieren kann. Das ist ja fast schon ein Bugfoot [1]. ;)

    Gruß
    Konni

    [1] New Programming Jargon ? Global Nerdy
     
    Fr4gg0r bedankt sich.
  10. Chaoz, 29.05.2010 #10
    Chaoz

    Chaoz Threadstarter Android-Hilfe.de Mitglied

    @bero: alien hat recht, würde sonst knallen ^^

    @konni: nette idee, aber ich kann den fehler nich nachstellen und kann meinen usern nicht testprogramme zuschicken... (sind ja keine direkten user die ich kenne, nur leute die die app laden und mir n fehlerlog zuschicken via market...)

    ...noch jmd eine idee? =/
     
  11. Konni, 29.05.2010 #11
    Konni

    Konni Android-Hilfe.de Mitglied

    Du könntest es aber quasi als Dirty Hack einbauen und schauen, ob immer noch Beschwerden kommen. Es sind nur wenige Zeilen und für die, bei denen es sowieso schon funktioniert hat, ändert sich nichts.

    Wenn dann immer noch Beschwerden kommen, kannst du es in der nächsten Version wieder entfernen.

    Gruß
    Konni
     
  12. Chaoz, 30.05.2010 #12
    Chaoz

    Chaoz Threadstarter Android-Hilfe.de Mitglied

    soweit die theorie... (ja ok, klappt ja auch... ABER...)
    ich kann meinem release manager schlecht sagen er soll ma ne neue version promoten die eigtl nur nem Test dient =/

    (Ich glaub im worst case wirds darauf hinaus laufen ^^ )
     
  13. Konni, 30.05.2010 #13
    Konni

    Konni Android-Hilfe.de Mitglied

    Und wenn du ein spezielles TelephonyManager-Test-Tool erstellst, welches genau das prüft? Das kannst du dann ja den Nutzern dann anbieten, die Probleme haben ...

    Gruß
    Konni
     
  14. Chaoz, 31.05.2010 #14
    Chaoz

    Chaoz Threadstarter Android-Hilfe.de Mitglied

    ...wie gesagt... ich habe kein (direkten) Kontakt zu den Nutzern, das geht alles über ne Supportabteilung und selbst die warten sich n wolf aufn reply vom endanwender =/ ... naja... ma sehen was draus wird...
     
  15. SirMArtin, 31.05.2010 #15
    SirMArtin

    SirMArtin freier Samsungsupporter

    Ich hab mal gehört, dass bei unsachgemäßem Flashen (z.B. unsachgemäß gekochte Custom-ROMs) die IMEI verschwinden oder gar multipliziert werden können.

    Vielleicht hilft das bei der Suche nach dem Problem...:confused:
     
  16. Chaoz, 01.06.2010 #16
    Chaoz

    Chaoz Threadstarter Android-Hilfe.de Mitglied

    ok,... das wäre möglich.. aber ich kann mir nich vorstellen dass jeder 4te meiner nutzer ein geflashtes rom hat... sowas ist doch glaube nur unter den "geeks" verbreitet ^^
     
  17. SirMArtin, 01.06.2010 #17
    SirMArtin

    SirMArtin freier Samsungsupporter

    Hm. Vermutlich nicht. Es müsste dann ja auch noch ein fehlerhaftes ROM sein...
     
  18. Chaoz, 01.06.2010 #18
    Chaoz

    Chaoz Threadstarter Android-Hilfe.de Mitglied

    so.. ich hab rausgefunden,
    dass ich bei "getDeviceId()" KEINE IMEI sondern eine 12stellige dezimalZahl [100001350757] herausgibt.... (und einmal sogar eine 10stellige hex..[0000015216]) ich "glaube" dass es eine MEID ist...

    einer meiner kunden hat ein CDMA gerät und hat das problem....

    ...irgend jemand eine idee, wieso das so ist? O_O
     
  19. sebastian, 02.06.2010 #19
    sebastian

    sebastian Fortgeschrittenes Mitglied

    Also dein Problem wie auch deine jetzt gefunden Erkenntnisse hättest du auch mit einem Blick in die Doku sehen können :rolleyes: Schau mal rein:

    TelephonyManager | Android Developers

    Dort steht auch "for example", muss also wohl nicht immer die IMEI/MEID sein. ...aber schaun wir doch mal was man sonst noch nehmen könnte. Mit minimalem Aufwand bei google bisschen rumgesucht und was findet man da:

    strazzere.com Blog Archive Uniquely Identifying Android Devices without special permissions.

    Das sieht doch ziemlich gut aus:
    Viel Spaß damit! :) Und bei nächsten Mal vielleicht nicht alles so hektisch angehen, dann übersieht man wichtige Dinge nicht so schnell.


    Edit: Doch gar nicht so einfach. ANDROID_ID könnte in manchen Fällen ebenfalls null zurückgeben, da der Wert wohl erst nach Anmeldung im Market generiert wird. Bliebe noch die MAC Adresse vom WLAN, aber natürlich hat nicht unbedingt jedes Gerät WLAN. So bleibt dir nur eine Kombination aus mehreren Dingen oder gleich auf Benutzername + Passwort umsteigen wenn das geht.

    Hier ein Thread in dem darüber diskutiert wird:
    http://groups.google.com/group/andr...cad48a7fb7/42aceb303e8b42f6?#42aceb303e8b42f6
     
    Zuletzt bearbeitet: 02.06.2010
  20. Chaoz, 02.06.2010 #20
    Chaoz

    Chaoz Threadstarter Android-Hilfe.de Mitglied

    danke für die antwort,
    aber wie du schon im edit meintest, "so einfach" ist es nun doch nicht.
    mein größtes problem war, dass dutzende libraries und servermodule auf die richtigkeit der IMEI geprüft haben, von daher wollte ich die ANDROID_ID ungern nutzen.

    Die links die du gepostet hast, waren mir bereits bekannt, dass getDeviceID nicht zwangsweise die IMEI ausgibt, ist mir aber erst später aufgefallen. (Eigtl n fehler in der API, wenn ich die IMEI brauche, dann brauch ich auch ne imei und nich "irgendwas"... ^^)

    wie dem auch sei... ich hab den bug andersweitig gefixxt, danke nochma an alle bdie mir tips gegeben haben.

    Gruß
    chaoz
     

Diese Seite empfehlen

Besucher kamen mit folgenden Begriffen auf unsere Seite:

  1. imei / device id