[英]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.