Essayer de détecter le numéro sortant ou entrant sur (Lollipop 5.1.1) OnePlus deux atomes d'oxygène osdétecter le numéro sortant/entrant Android 5.1.1 lollipop programme
essayé plusieurs façons avec googler mais ne peux pas le succès
String number = intent.getStringExtra("android.intent.extra.PHONE_NUMBER");
String number = intent.getStringExtra(TelephonyManager.EXTRA_INCOMING_NUMBER);
String number = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER);
permission manifeste
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS" />
<uses-permission android:name="android.permission.READ_CALL_LOG" />
utilisant le code ci-dessous pour obtenir le numéro entrant ou sortant
public class callRecorderReceiver extends BroadcastReceiver {
private static String TAG = "CallRecorderReceiver";
private Context mContext = null;
static long start_time, end_time;
String callType = "";
@Override
public void onReceive(Context context, Intent intent) {
this.mContext = context;
String action = intent.getAction();
String extraState = intent.getStringExtra(TelephonyManager.EXTRA_STATE);
Log.d(TAG, "Action:" + action);
Log.d(TAG, "ExtraState:" + extraState);
String number = intent.getStringExtra("android.intent.extra.PHONE_NUMBER");
if (number == null || number.equalsIgnoreCase("")) {
number = intent.getStringExtra(TelephonyManager.EXTRA_INCOMING_NUMBER);
}
if (extraState.equalsIgnoreCase("OFFHOOK")) {
if (number != null && !number.equalsIgnoreCase("")) {
number = number;
temp_data.current_number = "" + number;
}
} else if (intent.getAction().equals("android.intent.action.NEW_OUTGOING_CALL")) {
if (number != null && !number.equalsIgnoreCase("")) {
callType = "outgoing";
if (!((number.contains("*") && number.contains("#"))))) {
Log.d("outgoing CallTo:", number);
}
}
} else if (action.equals("android.intent.action.PHONE_STATE")) {
try {
String incomingNumber = intent.getStringExtra("incoming_number");
if (intent.getStringExtra("state").equals(TelephonyManager.EXTRA_STATE_RINGING)) {
Log.d("ringing ", "incomingNumber " + incomingNumber);
} else if (intent.getStringExtra("state").equals(TelephonyManager.EXTRA_STATE_IDLE)) {
Log.d("idle ", incomingNumber);
} else if (intent.getStringExtra("state").equals(TelephonyManager.EXTRA_STATE_OFFHOOK)))) {
Log.d("State:", "current_state:" + temp_data.current_state);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
Merci, mais ne fonctionne pas dans le récepteur de diffusion – CrazyMind
http://bitgriff.blogspot.in/2013/01/detecting-incoming-and-outgoing-phone.html – CrazyMind
vous ne pouvez le gérer que par le récepteur de diffusion. personne d'autre méthode pour le faire. ça aide dans mon cas. essayer de faire selon les exigences, il peut certainement être fait –