Wie kann ich zwischen eingehenden und ausgehenden Anrufen unterscheiden? für beide Fälle ist das Mobiltelefon in einem abgehobenen Zustand, aber für den ankommenden Anruf ist es im Rufzustand, geht dann zum abgehobenen,verschiedene Telefonstatus Differenzierung
Ich habe diesen Code versucht, aber es funktioniert nicht effektiv, als Eine Klingelvariable ist immer falsch. und es ist eine andere Frage, wie kann ich die abgehende Rufnummer .. Vielen Dank im Voraus
public class states extends BroadcastReceiver {
boolean Ringing = false;
public void onReceive(Context context, Intent intent) {
String state = intent.getStringExtra(TelephonyManager.EXTRA_STATE);
if (state.equalsIgnoreCase(TelephonyManager.EXTRA_STATE_RINGING)) {
Toast.makeText(context, "Ringing", Toast.LENGTH_SHORT).show();
Ringing = true ;
}
else if (state.equalsIgnoreCase(TelephonyManager.EXTRA_STATE_OFFHOOK)) {
if (Ringing) {
// do nothing
}else{
// do something
}
else if (state.equalsIgnoreCase(TelephonyManager.EXTRA_STATE_IDLE)) {
Ringing = false ;
}
}
}
das sind meine Rechte
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<receiver android:name=".states">
<intent-filter>
<action android:name="android.intent.action.PHONE_STATE" />
<action android:name="android.intent.action.NEW_OUTGOING_CALL" />
</intent-filter>
</receiver>
Für Ihre Frage ougoing Rufnummer bekommen, das bedeutet, dass Sie bereit sind, Ihre eigene Telefonnummer zu erhalten. nicht wahr? –
Nein, ich meine die Nummer, die ich anrufe. – user8151481
Ich habe gerade die Antwort bearbeitet und überprüfe den TelephonyManager.CALL_STATE_IDLE –