1
为什么我会收到两位来电号码?随着传出的细节它正常工作,但它只获得一次,但我不知道传入的细节会发生什么。谁能帮我?广播接收器来电(获取两倍来电号码)
public void onReceive(Context context, Intent intent) {
Log.d("APP", "ACTION:" + intent.getAction());
//this.context = context;
final String stringExtra = intent.getStringExtra(TelephonyManager.EXTRA_STATE);
if (Intent.ACTION_NEW_OUTGOING_CALL.equals(intent.getAction())){
//outgoing call
number=intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER);
Log.i("tag", "Outgoing number : " +number);
currentDateTimeString = DateFormat.getDateTimeInstance().format(new Date());
Log.i("tag", "Date :" + currentDateTimeString);
//doSaveCallRecord(1);
Log.i("tag", "USER ID :" + context.getSharedPreferences("APPLICATION",Context.MODE_PRIVATE).getString(UserConstants.ID,null)+"");
}
if (TelephonyManager.EXTRA_STATE_RINGING.equals(stringExtra)) {
final String incomingNumber = intent.getStringExtra(TelephonyManager.EXTRA_INCOMING_NUMBER);
Log.d("APP", "incoming,ringing:" + incomingNumber);
//doSaveCallRecord(0);
}
}
<receiver android:name=".MyCallReceiver" >
<intent-filter>
<action android:name="android.intent.action.NEW_OUTGOING_CALL"/>
<action android:name="android.intent.action.PHONE_STATE"/>
</intent-filter>
</receiver>
请为sendBroadcast –
提供代码请发表您的AndroidManifest为好,因为任何的logcat(即例如记录了一个呼叫)。最后,尝试描述一个重复所需和不想要的效果的示例条件。另外,所描述的事件可能是具有相同广播事件的两个或更多个接收器。在您登记的接收器(dinamically和静态地)显示 – Bonatti
<接收机机器人: “MyCallReceiver” 名称=> <意图滤波器> <操作机器人:名称= “android.intent.action.NEW_OUTGOING_CALL”/> < action android:name =“android.intent.action.PHONE_STATE”/> intent-filter> –