2011-01-17 23 views
2

Ich versuche, meine Zelle App mit der Push-Registry-Technologie zu arbeiten.Ist es möglich, SOCKETS, DATAGRAMS zu verwenden, um eine MIDP 2.0-Anwendung über Push Registry zu starten?

Gemäß den Spezifikationen sollten Sie SOCKETS, DATAGRAMS oder SMS verwenden können.

Aber ich bekomme immer eine IOException beim Aufruf von registerConnection() beim dynamischen Registrieren einer eingehenden Verbindung. Wenn ich versuche, SOCKETS oder DATAGRAMS zu registrieren

Ich bin nicht einmal sicher, dass es möglich ist, weil das Web nur funktionierende SMS-Beispiele hat.

Alle Angaben würden am meisten geschätzt werden!

+2

Ja, ich habe noch nie von einem J2ME-Handset gehört, das PushRegistry für alles andere als zeitgesteuerte Alarme und SMS unterstützt. – funkybro

+1

Ich habe Handys gesehen, mit denen man MIDlets zum Zeitpunkt des Telefonstarts per statischer PushRegistry automatisch starten kann, obwohl das definitiv kein Standardverhalten ist. Vielleicht möchten Sie Ihren Quellcode, den Trace der Exception-Stacks und die Marke und das Modell des Mobilteils posten, nur für den Fall. –

Antwort

0

Ich habe das IOException-Problem gelöst.

Der maßgebliche Artikel http://developers.sun.com/mobility/midp/articles/pushreg/ erwähnt nicht, dass Aufrufe von registerConnection() höchstwahrscheinlich fehlschlagen werden (wie in der Frage ausführlich beschrieben).

aber Wiederholungsversuche werden die real Port das Gerät zugewiesen entdecken, wie unten dargestellt:

public void run(){ 
      int failCount = 0; 
      String base = "55"; 
      String temp = ""; 
      while (failCount <2000) { 
       try { 
         temp = "datagram://:" +base + Integer.toString(failCount); 
         PushRegistry.registerConnection(temp, midletClassName, filter); 
         break; 

       } catch (IOException ex) { 
        failCount++; 
        continue; 
       } 

      } 

Die Jury allerdings als noch aus, ob die Anwendung jedoch beginnen !!!