@Override public void onReceive(Context context, Intent intent) { TelephonyManager telephony = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE); PhoneCallStateListener customPhoneListener = new PhoneCallStateListener(context); telephony.listen(customPhoneListener, PhoneStateListener.LISTEN_CALL_STATE); helper = new ContactDatabaseHelper(context); list = helper.getAllContacts(); try{ incomingNumber = intent.getStringExtra(TelephonyManager.EXTRA_INCOMING_NUMBER); if (list.size() != 0){ for ( int i = 0, size = list.size(); i < size; i++ ){ if (PhoneNumberUtils.compare(incomingNumber, list.get(i).getContactNumber())){ ToastMsg.showToast(context,list.get(i).getContactName()+" Calling"); } } } }catch (Exception e) { // TODO: handle exception } } public class PhoneCallStateListener extends PhoneStateListener{ private Context context; public PhoneCallStateListener(Context context){ this.context = context; } @Override public void onCallStateChanged(int state, String incomingNumber) { switch (state) { case TelephonyManager.CALL_STATE_RINGING: break; case PhoneStateListener.LISTEN_CALL_STATE: } super.onCallStateChanged(state, incomingNumber); } }
Credit Naser Shaikh
Leave a Reply