1. Nimm jetzt an unserem Uhans - 3. ADVENT - Gewinnspiel teil - Alle Informationen findest Du hier!

Wie ins Service Menue ?

Dieses Thema im Forum "ZTE Blade / San Francisco / Base Lutea Forum" wurde erstellt von WAWA, 28.07.2011.

  1. WAWA, 28.07.2011 #1
    WAWA

    WAWA Threadstarter Gewerbliches Mitglied

    Beiträge:
    2,814
    Erhaltene Danke:
    538
    Registriert seit:
    09.11.2010
    Phone:
    Huawei Ascend Mate
    Hat jemand ne Idee wie man ins Service Menue kommt?

    Auf wiki von modaco stehen zwar die Codes, aber kein einziger geht, weil man garnicht erst reinkommt. Habe CM7 und denke das es auch bei den andern nicht geht. Und falls doch....wie?
     
  2. email.filtering, 28.07.2011 #2
    email.filtering

    email.filtering Gast

    Dass Du dafür den originalen Dailer (und eine zusätzliche Datei; deren Name fällt mir leider einfach nicht ein) benötigst, ist Dir sicher bekannt!?
     
    WAWA bedankt sich.
  3. tonydl, 28.07.2011 #3
    tonydl

    tonydl Erfahrener Benutzer

    Beiträge:
    161
    Erhaltene Danke:
    137
    Registriert seit:
    18.07.2011
    Den ZTE Dialer kannst du z.B. hier herunterladen:
    [ROM][Gen2][ZTE-Gingerbread] Ginger Stir Fry - Android @ MoDaCo
    Du benötigst das "ZTE Dialler, Engineering Mode, Messaging & contacts addon", also die Datei "gsf-blade-ztedialler.zip".

    Aber der Dialer bringt einige Probleme mit sich, Facebook Sync geht dann nicht mehr, man kann keine Kontakte mehr zusammenfügen und die Android SIP Anrufe sind nicht mehr möglich (also nur noch mit Apps wie Sipdroid).

    Also ich würde empfehlen, den Dialer nur zu installieren wenn man wirkliche Probleme hat, der Näherungssensor z.B. völlig falsch reagiert. Ansonsten macht er meiner Meinung nach zu viel kaputt.
     
    WAWA bedankt sich.
  4. WAWA, 28.07.2011 #4
    WAWA

    WAWA Threadstarter Gewerbliches Mitglied

    Beiträge:
    2,814
    Erhaltene Danke:
    538
    Registriert seit:
    09.11.2010
    Phone:
    Huawei Ascend Mate
    Kann man ja hinterher wieder löschen.

    Haste selber schon mal ausprobiert?
     
  5. FelixL, 28.07.2011 #5
    FelixL

    FelixL Ehrenmitglied

    Beiträge:
    4,855
    Erhaltene Danke:
    754
    Registriert seit:
    26.11.2009
    Phone:
    Wileyfox Swift, HTC One M8
    Ich hab die Codes mal auf einem anderen ROM ausprobiert, funktionierten damals ganz gut. Ob das hier mit dem Addon geht, keine Ahnung. Aber ich würde mal davon ausgehen :D

    Ich frage mich gerade ob man den Engineering-Mode umbauen kann so das man den Dialer nicht mehr braucht. Hm....
     
    WAWA bedankt sich.
  6. tonydl, 29.07.2011 #6
    tonydl

    tonydl Erfahrener Benutzer

    Beiträge:
    161
    Erhaltene Danke:
    137
    Registriert seit:
    18.07.2011
    Ja man kann es wieder rückgängig machen. Ich hatte es mal ausprobiert und danach wieder das ROM neu geflasht (ohne data wipe) um ihn zu entfernen.

    @FelixL: Ein Port ist ohne Quelltext leider kaum möglich :(
     
  7. FelixL, 29.07.2011 #7
    FelixL

    FelixL Ehrenmitglied

    Beiträge:
    4,855
    Erhaltene Danke:
    754
    Registriert seit:
    26.11.2009
    Phone:
    Wileyfox Swift, HTC One M8
    Ich will nur den Emode ohne Dialer nutzbar machen, wart mal ab ;)

    Übrigens, die Jungs bei Modaco haben sich ja über die ständigen Rechtschreibfehler im Code von ZTE beschwert...ich kann ihnen gerade nachfühlen:
    "android.intent.action.emdoe"
    Das sollte wohl emode heißen -.-



    Hab den Kram dekompiliert, hier die Stelle auf die es ankommt:
    Code:
    case 2131099740://Kommt von einem Switch-Case in einem OnClickListener der überprüft welcher View gedrückt wurde, dürfte das letzte Zeichen der Dialer-Codes sein
          playTone(11);//Tastenton abspielen
          keyPressed(18);
          String str1 = this.mDigits.getText().toString();//macht die gewählte Nummer zum Text-String
          int i = str1.length();//Anzahl der gewählten Zeichen
          String str2 = "****Emodenumber=" + str1 + "   length=" + i;//Nur Ausgabe fürs Logging eine Zeile weiter unten
          int j = Log.e("Dialer_EMode", str2);
          if (i <= 0)//Wenn keine Zeichen gewählt wurden-->nichts machen
            return;
          if (str1.charAt(0) != 42)//Überprüft ob das erste Zeichen das ist mit dem alle Emode-Codes beginnen, wenn nicht-->nichts machen
            return;
          int k = i - 1;
          if (str1.charAt(k) != 35)//Überprüft ob das letzte Zeichen zu einem ECode passt
            return;//Wenn alles passt werden die folgenden Zeilen ausgeführt
          Intent localIntent1 = new Intent("android.intent.action.emdoe");
          Intent localIntent2 = localIntent1.putExtra("com.zte.smartdialer.input", str1);//Hier wird die Nummer in den Intent gepackt, übrigens ist da ein Progammierfehler drin der sich nicht auswirkt.
          sendBroadcast(localIntent1);//Und hier wird der Broadcast gesendet der den EMode startet.
          return;

    Werde nachher mal was testen damit man den Dialer nicht mehr braucht.



    Edit2:
    Alle wählbaren Nummern (.smali des Receivers):
    Code:
        const/4 v3, 0x1
    
        const/4 v2, 0x0
    [...]
    new-array v0, v0, [Ljava/lang/String;
    
        const-string v1, "*983*0#"
    
        aput-object v1, v0, v2
    
        const-string v1, "*983*3640*01#"
    
        aput-object v1, v0, v3
    
        const/4 v1, 0x2
    
        const-string v2, "*983*25#"
    
        aput-object v2, v0, v1
    
        const/4 v1, 0x3
    
        const-string v2, "*983*31#"
    
        aput-object v2, v0, v1
    
        const/4 v1, 0x4
    
        const-string v2, "*983*26#"
    
        aput-object v2, v0, v1
    
        const/4 v1, 0x5
    
        const-string v2, "*983*850#"
    
        aput-object v2, v0, v1
    
        const/4 v1, 0x6
    
        const-string v2, "*983*86#"
    
        aput-object v2, v0, v1
    
        const/4 v1, 0x7
    
        const-string v2, "*983*84#"
    
        aput-object v2, v0, v1
    
        const/16 v1, 0x8
    
        const-string v2, "*983*07*01#"
    
        aput-object v2, v0, v1
    
        const/16 v1, 0x9
    
        const-string v2, "*983*07*02#"
    
        aput-object v2, v0, v1
    
        const/16 v1, 0xa
    
        const-string v2, "*983*3470#"
    
        aput-object v2, v0, v1
    
        const/16 v1, 0xb
    
        const-string v2, "*983*81#"
    
        aput-object v2, v0, v1
    
        const/16 v1, 0xc
    
        const-string v2, "*983*890#"
    
        aput-object v2, v0, v1
    
        const/16 v1, 0xd
    
        const-string v2, "*983*26*#"
    
        aput-object v2, v0, v1
    
        const/16 v1, 0xe
    
        const-string v2, "*#06#"
    
        aput-object v2, v0, v1
    
        const/16 v1, 0xf
    
        const-string v2, "*983*27274#"
    
        aput-object v2, v0, v1
    
        const/16 v1, 0x10
    
        const-string v2, "*#08#"
    
        aput-object v2, v0, v1
    
        const/16 v1, 0x11
    
        const-string v2, "*#09***#"
    
        aput-object v2, v0, v1
    
        const/16 v1, 0x12
    
        const-string v2, "*983*1275#"
    
        aput-object v2, v0, v1
    
        const/16 v1, 0x13
    
        const-string v2, "*983*7#"
    
        aput-object v2, v0, v1
    
        const/16 v1, 0x14
    
        const-string v2, "*983*3640#"
    
        aput-object v2, v0, v1
    
        const/16 v1, 0x15
    
        const-string v2, "*983*636#"
    
        aput-object v2, v0, v1
    
        const/16 v1, 0x16
    
        const-string v2, "*983*28#"
    
        aput-object v2, v0, v1
    
        const/16 v1, 0x17
    
        const-string v2, "*983*477#"
    
        aput-object v2, v0, v1
    
        const/16 v1, 0x18
    
        const-string v2, "*983*21#"
    
        aput-object v2, v0, v1
    
        const/16 v1, 0x19
    
        const-string v2, "*983*70#"
    
        aput-object v2, v0, v1
    
        const/16 v1, 0x1a
    
        const-string v2, "*#18#"
    
        aput-object v2, v0, v1
    
        const/16 v1, 0x1b
    
        const-string v2, "*#19#"
    
        aput-object v2, v0, v1
    
        const/16 v1, 0x1c
    
        const-string v2, "*983*36#"
    
        aput-object v2, v0, v1
    
        const/16 v1, 0x1d
    
        const-string v2, "*983*57#"
    
        aput-object v2, v0, v1
    
        const/16 v1, 0x1e
    
        const-string v2, "*983*473#"
    
        aput-object v2, v0, v1
    
        const/16 v1, 0x1f
    
        const-string v2, "*#23#"
    
        aput-object v2, v0, v1
    
        const/16 v1, 0x20
    
        const-string v2, "*983*10#"
    
        aput-object v2, v0, v1
    
        const/16 v1, 0x21
    
        const-string v2, "*#25#"
    
        aput-object v2, v0, v1
    
        const/16 v1, 0x22
    
        const-string v2, "*983*2726#"
    
        aput-object v2, v0, v1
    
        const/16 v1, 0x23
    
        const-string v2, "*983*37#"
    
        aput-object v2, v0, v1
    
        const/16 v1, 0x24
    
        const-string v2, "*983*6726#"
    
        aput-object v2, v0, v1
    
        const/16 v1, 0x25
    
        const-string v2, "*983*154#"
    
        aput-object v2, v0, v1
    
        const/16 v1, 0x26
    
        const-string v2, "*983*07#"
    
        aput-object v2, v0, v1
    
        const/16 v1, 0x27
    
        const-string v2, "*983*5182#"
    
        aput-object v2, v0, v1
    
        const/16 v1, 0x28
    
        const-string v2, "*983*7469#"
    
        aput-object v2, v0, v1
    
        const/16 v1, 0x29
    
        const-string v2, "*#26***#"
    
        aput-object v2, v0, v1
    
        const/16 v1, 0x2a
    
        const-string v2, "*983*7936#"
    
        aput-object v2, v0, v1
    
        const/16 v1, 0x2b
    
        const-string v2, "*987*0#"
    
        aput-object v2, v0, v1
    
        const/16 v1, 0x2c
    
        const-string v2, "*#27***#"
    
        aput-object v2, v0, v1
    
        const/16 v1, 0x2d
    
        const-string v2, "*983*87274#"
    
        aput-object v2, v0, v1
    
        const/16 v1, 0x2e
    
        const-string v2, "*983*06#"
    
        aput-object v2, v0, v1
    
        const/16 v1, 0x2f
    
        const-string v2, "*983*564738#"
    
        aput-object v2, v0, v1
    
        const/16 v1, 0x30
    
        const-string v2, "*983*93#"
    
        aput-object v2, v0, v1
    
        const/16 v1, 0x31
    
        const-string v2, "*983*2377#"
    
        aput-object v2, v0, v1
    
        const/16 v1, 0x32
    
        const-string v2, "*983*24474636#"
    
        aput-object v2, v0, v1
    
        const/16 v1, 0x33
    
        const-string v2, "*983*73564#"
    
        aput-object v2, v0, v1
    
        const/16 v1, 0x34
    
        const-string v2, "*987*123456#"
    
        aput-object v2, v0, v1
    
        const/16 v1, 0x35
    
        const-string v2, "*983*205#"
    
        aput-object v2, v0, v1
    
        const/16 v1, 0x36
    
        const-string v2, "*#0000#"
    
        aput-object v2, v0, v1
    
        const/16 v1, 0x37
    
        const-string v2, "*983*1#"
    
        aput-object v2, v0, v1
    
        const/16 v1, 0x38
    
        const-string v2, "*983*2#"
    
        aput-object v2, v0, v1
    
        const/16 v1, 0x39
    
        const-string v2, "*983*3#"
    
        aput-object v2, v0, v1
    
        const/16 v1, 0x3a
    
        const-string v2, "*983*8284#"
    
        aput-object v2, v0, v1
    
        const/16 v1, 0x3b
    
        const-string v2, "*983*7668#"
    
        aput-object v2, v0, v1
    
        const/16 v1, 0x3c
    
        const-string v2, "*983*7278466#"
    
        aput-object v2, v0, v1
    
        const/16 v1, 0x3d
    
        const-string v2, "*983*9434622#"
    
        aput-object v2, v0, v1
    
        const/16 v1, 0x3e
    
        const-string v2, "*983*288384#"
    
        aput-object v2, v0, v1
    
        const/16 v1, 0x3f
    
        const-string v2, "*983*288385#"
    
        aput-object v2, v0, v1
    
        const/16 v1, 0x40
    
        const-string v2, "*983*1234#"
    
        aput-object v2, v0, v1
    
        const/16 v1, 0x41
    
        const-string v2, "*983*1233#"
    
        aput-object v2, v0, v1
    
        const/16 v1, 0x42
    
        const-string v2, "*983*7336#"
    
        aput-object v2, v0, v1
    
        const/16 v1, 0x43
    
        const-string v2, "*983*7337#"
    
        aput-object v2, v0, v1
    
        const/16 v1, 0x44
    
        const-string v2, "*983*79482436#"
    
        aput-object v2, v0, v1
    
        const/16 v1, 0x45
    
        const-string v2, "*983*72346373#"
    
        aput-object v2, v0, v1
    
        const/16 v1, 0x46
    
        const-string v2, "*983*24736#"
    
        aput-object v2, v0, v1
    
        const/16 v1, 0x47
    
        const-string v2, "*983*24737#"
    
        aput-object v2, v0, v1
    
        const/16 v1, 0x48
    
        const-string v2, "*983*4740#"
    
        aput-object v2, v0, v1
    
        const/16 v1, 0x49
    
        const-string v2, "*983*74883696#"
    
        aput-object v2, v0, v1
    
        sput-object v0, Lcom/zte/emode/MatchingReceiver;->EmodeArray:[Ljava/lang/String;
    Es gibt insgesamt 74 Codes!


    Edit3:
    Proof of Concept funktioniert :D
    Es ist problemlos möglich mit drei Zeilen einen Code auszuführen:

    Code:
    package com.felixl.EmodeHelper;
    
    import android.app.Activity;
    import android.content.Intent;
    import android.os.Bundle;
    
    public class EmodeHelper extends Activity {
        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            Intent localIntent1 = new Intent("android.intent.action.emdoe");
            localIntent1.putExtra("com.zte.smartdialer.input", "*983*477#");//Hier wird die Nummer in den Intent gepackt, hier ohne Programmierfehler wie bei ZTE.
            sendBroadcast(localIntent1);//Und hier wird der Broadcast gesendet der den EMode startet.
        }
    }
     
    Zuletzt bearbeitet: 29.07.2011
  8. WAWA, 29.07.2011 #8
    WAWA

    WAWA Threadstarter Gewerbliches Mitglied

    Beiträge:
    2,814
    Erhaltene Danke:
    538
    Registriert seit:
    09.11.2010
    Phone:
    Huawei Ascend Mate
    Saubere Arbeit.
    Gibts da irgendwo was um am Audio/Mic rumzuspielen?
     
  9. FelixL, 29.07.2011 #9
    FelixL

    FelixL Ehrenmitglied

    Beiträge:
    4,855
    Erhaltene Danke:
    754
    Registriert seit:
    26.11.2009
    Phone:
    Wileyfox Swift, HTC One M8
    Nö.
    Ich suche im Moment nebenbei immer noch die passenden Libraries um es auf CM7 zum laufen zu bekommen. So versteckt können die doch gar nicht sein!?! :p
     
  10. FelixL, 29.07.2011 #10
    FelixL

    FelixL Ehrenmitglied

    Beiträge:
    4,855
    Erhaltene Danke:
    754
    Registriert seit:
    26.11.2009
    Phone:
    Wileyfox Swift, HTC One M8
    Auf CM7 wird es wohl nicht funktionieren, die Emode.apk ist grundsätzlich nicht kompatibel :/
     
  11. rotation, 29.07.2011 #11
    rotation

    rotation Android-Lexikon

    Beiträge:
    1,468
    Erhaltene Danke:
    213
    Registriert seit:
    04.05.2011
    würde es auf ginger stir fry funktionieren?
     

Diese Seite empfehlen