Có ai biết mục đích của cuộc gọi nhỡ là gì không. Trên thực tế tôi muốn gửi sms về cuộc gọi nhỡ và cuộc gọi incomming trong ứng dụng của tôi.bộ thu phát sóng cho cuộc gọi nhỡ trong android
6
A
Trả lời
10
Không có chương trình phát sóng cụ thể cho cuộc gọi nhỡ, AFAIK.
Bạn có thể xem chương trình phát sóng ACTION_PHONE_STATE_CHANGED
, đợi cho đến khi điện thoại chuyển từ EXTRA_STATE_RINGING
sang EXTRA_STATE_IDLE
, sau đó thử kiểm tra nhà cung cấp nội dung CallLog
để xem cuộc gọi có bị nhỡ hay không. Tôi đã không thử kỹ thuật này, nhưng nó có thể hoạt động.
11
Bạn cần phải sử dụng một ContentObserver
public class MissedCallsContentObserver extends ContentObserver
{
public MissedCallsContentObserver()
{
super(null);
}
@Override
public void onChange(boolean selfChange)
{
Cursor cursor = getContentResolver().query(
Calls.CONTENT_URI,
null,
Calls.TYPE + " = ? AND " + Calls.NEW + " = ?",
new String[] { Integer.toString(Calls.MISSED_TYPE), "1" },
Calls.DATE + " DESC ");
//this is the number of missed calls
//for your case you may need to track this number
//so that you can figure out when it changes
cursor.getCount();
cursor.close();
}
}
Từ ứng dụng, bạn chỉ cần làm điều này:
MissedCallsContentObserver mcco = new MissedCallsContentObserver();
getApplicationContext().getContentResolver().registerContentObserver(Calls.CONTENT_URI, true, mcco);
@ CommonsWare-thể chúng ta phân biệt giữa cuộc gọi nhỡ và từ chối cuộc gọi vì cả hai chức năng trong cách đề cập ở trên !!! –