2012-01-25 30 views
17

Tôi muốn chặn màn hình cuộc gọi đến của hệ điều hành Android và thay thế bằng màn hình cuộc gọi đến của ứng dụng. Tuy nhiên, không có API để làm như vậy, nhưng tôi biết chắc chắn rằng nó có thể là 4 công ty khác nhau thực hiện điều này; Các công ty tôi đang nói đến là: Adaffix (Yellix), Vringo, WhitePages ID người gọi và nhiều hơn nữa. Tất cả họ đều sạch sẽ thay thế màn hình cuộc gọi đến hệ điều hành với màn hình cuộc gọi đến của ứng dụng của họ khi cuộc gọi đến (không chậm trễ, không ổn định, nó luôn hoạt động).chặn màn hình cuộc gọi đến của hệ điều hành Android và thay thế

Tôi có thể tìm được giải pháp từng phần nhưng giải pháp này không ổn định, đôi khi nó hiển thị màn hình cuộc gọi đến của ứng dụng và đôi khi màn hình cuộc gọi đến OS. mỗi cuộc gọi nó phản ứng khác nhau.

Bạn có ý tưởng nào không?

+0

+1 cho đẹp câu hỏi – Lucifer

+0

1 chào mừng bạn đến SO! – barmaley

Trả lời

6

Bạn sẽ phải phủ màn hình gốc bằng điều khiển (có thể là hộp thoại) khi bạn tải android.intent.action.PHONE_STATE làm nhạc chuông.

Bạn phải đăng ký BroadcastReceiver cho hành động android.intent.action.PHONE_STATE.

Mục đích nhận sẽ có biến TelephonyManager.EXTRA_STATE_RINGING sẽ có trạng thái hiện tại.

Hãy cho tôi biết!

2

Bạn cần phải ngăn chặn phát sóng android.intent.action.PHONE_STATE với ưu tiên cao nhất có thể, sau đó nếu trong bạn BroadcastReceiver.onReceive() bạn sẽ hủy phát sóng thông qua BroadcastReceiver.abortBroadcast() bạn sẽ có thể để ngăn chặn mặc định màn hình cuộc gọi đến sẽ được hiển thị, vì ứng dụng mặc định sẽ không nhận được phát sóng cuộc gọi đến . Sau đó bạn được tự do thể hiện Activity của riêng mình.

Ít nhất cùng một chiến lược hoạt động với SMS đến '- tôi đã từng thực hiện như mô tả ở trên.

+2

Chỉ cần lưu ý, điều này không hoạt động để bàn giao một cuộc gọi vì chương trình phát sóng là một chương trình phát sóng không được đặt hàng - bạn nhận được lỗi này "java.lang.RuntimeException: BroadcastReceiver đang cố gắng trả về kết quả trong khi phát sóng không được sắp xếp" –

Các vấn đề liên quan