#java #android
Вопрос:
Есть класс, который я расширяю BroadcastReceiver.У меня есть действие «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;
}
}
Ответ №1:
если вы просто спрашиваете, как сделать тостовое сообщение, то ответ таков:
Toast.makeText(getApplicationContext(),"I am a message",Toast.LENGTH_SHORT).show();
если нет, я хотел бы, чтобы вы отредактировали вопрос, чтобы он был более сфокусирован на том, что вы спрашиваете. вам это помогает?
Комментарии:
1. Я имел в виду, как я могу получить номер телефона входящего или исходящего вызова. А затем проверьте, сохранен ли номер в моих контактах. (Сообщение с тостом не является проблемой). В любом случае, спасибо за ваш ответ.