Wie ins Service Menue ?

WAWA

WAWA

Gesperrt
569
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?
 
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!?
 
  • Danke
Reaktionen: WAWA
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.
 
  • Danke
Reaktionen: WAWA
Kann man ja hinterher wieder löschen.

Haste selber schon mal ausprobiert?
 
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....
 
  • Danke
Reaktionen: WAWA
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 :(
 
tonydl schrieb:
@FelixL: Ein Port ist ohne Quelltext leider kaum möglich :(
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:
Saubere Arbeit.
Gibts da irgendwo was um am Audio/Mic rumzuspielen?
 
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
 
Auf CM7 wird es wohl nicht funktionieren, die Emode.apk ist grundsätzlich nicht kompatibel :/
 
würde es auf ginger stir fry funktionieren?
 

Ähnliche Themen

H
Antworten
2
Aufrufe
994
Hirnmatsch
H
S
Antworten
6
Aufrufe
1.817
Susonna
S
M
Antworten
0
Aufrufe
498
mmimal
M
Zurück
Oben Unten