簡體   English   中英

識別在來電或去電期間存儲在聯系人中的號碼

[英]identifying a number that is stored in the contacts during an incoming or outgoing call

有一個類 iextends BroadcastReceiver.I 有操作“isNumberStored(上下文上下文,字符串編號)”,如果聯系人中存在電話號碼(數字字符串),則返回“true”。 當來電或去電開始時,我想獲取電話號碼,然后檢查該號碼是否存儲在我的聯系人中 我該如何應用?

我的課 :

public class CallReceiver extends BroadcastReceiver {

    @Override
    // ^ detecting incoming and outgoing calls ^
    public void onReceive(Context context , Intent intent) {
     
        if (intent.getStringExtra( TelephonyManager.EXTRA_STATE ).equals( TelephonyManager.EXTRA_STATE_OFFHOOK )) {
          //Call started

        } else if (intent.getStringExtra( TelephonyManager.EXTRA_STATE ).equals( TelephonyManager.EXTRA_STATE_IDLE )) {
           //Call ended

        } else if (intent.getStringExtra( TelephonyManager.EXTRA_STATE ).equals( TelephonyManager.EXTRA_STATE_RINGING )) {
             //Incoming call
            }
    }


    //Check if number is stored in Contacts list  (Truth = exists).

    public boolean isNumberStored(Context context, String number) {
        Uri lookupUri = Uri.withAppendedPath(
                ContactsContract.PhoneLookup.CONTENT_FILTER_URI,
                Uri.encode(number));
        String[] mPhoneNumberProjection = { ContactsContract.PhoneLookup._ID, ContactsContract.PhoneLookup.NUMBER, ContactsContract.PhoneLookup.DISPLAY_NAME };
        Cursor cur = context.getContentResolver().query(lookupUri,mPhoneNumberProjection, null, null, null);
        try {
            if (cur.moveToFirst()) {
                cur.close();
                return true;
            }
        } finally {
            if (cur != null)
                cur.close();
        }
        return false;
    }
}

如果你只是問如何制作 Toast 消息,那么答案是這樣的:

Toast.makeText(getApplicationContext(),"I am a message",Toast.LENGTH_SHORT).show();  

如果沒有,我希望您編輯問題以更專注於您所問的問題。 這對你有幫助嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM