Hallo,
ich versuche gerade bei einem eingehenden Anruf die Nummer aus zu werten.
In das Manifest habe ich dir richtigen Rechte eingetragen.
Mein Code sieht so aus:
Aber in der onCallStateChanged ist der String incomingNumber immer ein leerere String. Alle Informationen die im Netz gefunden habe sagen das die Rechte fehlen. Die sind aber gesetzt. Hat jemand eine Idee?
VG
Rene
ich versuche gerade bei einem eingehenden Anruf die Nummer aus zu werten.
In das Manifest habe ich dir richtigen Rechte eingetragen.
XML:
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
Java:
private TelephonyManager telephonyManager = null;
private PhoneStateListener phoneStateListener = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//Generiere Widgets
this.txtOutput = (EditText)findViewById(R.id.txtOutput);
//Telefonobjekte
this.telephonyManager = (TelephonyManager)getSystemService(TELEPHONY_SERVICE);
//Generierung des PhoneStateListeners
this.phoneStateListener = new PhoneStateListener()
{
@Override
public void onCallStateChanged(int state, String incomingNumber) {
//Dekl. und Init
String strCallStateAndNr = "\nNummer:\t" + incomingNumber + "\nStatus:\t";
switch (state) {
case TelephonyManager.CALL_STATE_RINGING:
strCallStateAndNr +="Einkommendr Anruf";
break;
case TelephonyManager.CALL_STATE_OFFHOOK:
strCallStateAndNr +="Anruf angenommen";
break;
case TelephonyManager.CALL_STATE_IDLE:
strCallStateAndNr += "Aufgelegt / Standardzustand";
break;
}
//Ausgabe
txtOutput.setText(txtOutput.getText().toString() + " " + strCallStateAndNr);
}
};
telephonyManager.listen(phoneStateListener,PhoneStateListener.LISTEN_CALL_STATE);
}
VG
Rene