Ich möchte den eingehenden Anruf der Telefonnummer abgerufen werden und wie das tun in http://blog.whitepages.com/2009/02/27/caller-id-by-whitepages-a-new-android-app-that-puts-telemarketers-on-alert/in Android abrufen Telefonnummer des eingehenden Anrufs
mit ihm etwas tun Könnten Sie mir bitte helfen, weil ich keine Informationen darüber finden können. Wo fange ich an und woher bekomme ich die Telefonnummer?
Ok, im Moment sieht mein Code wie folgt aus. Wenn ich den Anruf erstelle, fängt der CustomBroadcastReceiver ihn ab und die Protokollnachricht wird ausgedruckt. Ich kann die Telefonnummer aus dem Bündel abrufen. Aber! Ich kann den CustomPhoneStateListener nicht funktionieren lassen. Wie Sie sehen können, habe ich meinen customPhoneState-Listener beim Empfänger registriert, aber die Log-Nachricht wird nie aus der CustomPhoneStateListener-Klasse ausgedruckt. Was vermisse ich hier? Ist mein Denken richtig?
<receiver android:name=".CustomBroadcastReceiver">
<intent-filter>
<action android:name="android.intent.action.PHONE_STATE" />
</intent-filter>
</receiver>
</application>
<uses-sdk android:minSdkVersion="5" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
public class CustomPhoneStateListener extends PhoneStateListener {
private static final String TAG = "CustomPhoneStateListener";
public void onCallStateChange(int state, String incomingNumber){
Log.v(TAG, "WE ARE INSIDE!!!!!!!!!!!");
Log.v(TAG, incomingNumber);
switch(state){
case TelephonyManager.CALL_STATE_RINGING:
Log.d(TAG, "RINGING");
break;
}
}
public class CustomBroadcastReceiver extends BroadcastReceiver {
private static final String TAG = "CustomBroadcastReceiver";
@Override
public void onReceive(Context context, Intent intent) {
Log.v(TAG, "WE ARE INSIDE!!!!!!!!!!!");
TelephonyManager telephony = (TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE);
CustomPhoneStateListener customPhoneListener = new CustomPhoneStateListener();
telephony.listen(customPhoneListener, PhoneStateListener.LISTEN_CALL_STATE);
Bundle bundle = intent.getExtras();
String phoneNr= bundle.getString("incoming_number");
Log.v(TAG, "phoneNr: "+phoneNr);
}
Können Sie ein Beispiel-Implementierung zur Verfügung stellen bitte? – jakob
Meine Antwort für diese Frage kann helfen [link] (http://stackoverflow.com/questions/10136490/androidget-phone-number-of-present-incoming-and-outgoing-call/11182720#11182720) – Gary