2013-03-21 37 views
42

Tôi có một số mã phát hiện khi có thư thoại mới. Nó dựa trên việc thực hiện PhoneStateListener.onMessageWaitingIndicatorChanged() (vì vậy về mặt kỹ thuật nó chỉ kích hoạt khi chỉ báo MWI thay đổi, không nhất thiết đối với mỗi thư thoại mới).PhoneStateListener onMessageWaitingIndicatorChanged() không được gọi là đáng tin cậy

Nó đã hoạt động hoàn hảo trong nhiều tháng cho đến khi cập nhật 4.x.x cho thiết bị.

Bây giờ, tính năng này hoạt động khi thiết bị được khởi động lại, nếu không thiết bị của bạn không đáng tin cậy. Tôi có thể thấy biểu tượng thư thoại xuất hiện trên thanh thông báo, nhưng nhật ký gỡ lỗi trong onMWIChanged vẫn im lặng.

Tôi biết rằng với 4.x.x có API nhà cung cấp thư thoại. Nghĩ rằng điều này có thể có kết nối, tôi đã thêm ý đồ android.intent.action.NEW_VOICEMAILandroid.intent.action.PROVIDER_CHANGED vào bộ thu của mình, nhưng chúng không kích hoạt (trong số BroadcastReceiveronReceive) của tôi (minSdkVersion của ứng dụng của tôi là 8).

+0

Với bản cập nhật 4.x.x, có bất kỳ quyền nào bạn cần khai báo trong tệp kê khai để tính năng này hoạt động không? Chỉ là một suy nghĩ, là an ninh đó là nhiều hơn trong các phiên bản mới hơn của hệ điều hành – lems111

Trả lời

1

Đây là bài đăng từ Nhà phát triển Android về API Android 4.0.

http://developer.android.com/about/versions/android-4.0.html

Nếu bạn cuộn xuống có một phần về Providers Voicemail nơi nó giải thích:

Bởi vì các API hiện không cho phép ứng dụng của bên thứ ba để đọc tất cả các thư thoại từ hệ thống , ứng dụng của bên thứ ba chỉ nên sử dụng API thư thoại là những ứng dụng có thư thoại để gửi tới người dùng.

Tuy nhiên, tôi giả sử nếu bạn đang cố gắng nhận thư thoại từ bên thứ ba chứ không phải từ dịch vụ của bạn thì điều này vẫn có thể thực hiện được. Hãy xem liên kết này về VoicemailContracts nơi tôi tin rằng nó cho biết bạn cần sự cho phép ADD_VOICEMAIL trong tệp kê khai của bạn để sử dụng các hành động bạn đang sử dụng ở trên.

http://developer.android.com/reference/android/provider/VoicemailContract.html

Ngoài ra còn có các mẫu mà tôi đã không nhận được một cơ hội để nhìn vào gọi Voicemail Provider Demo trong SDK của bạn. Tôi hi vọng cái này giúp được.

+0

Xin chào - tất cả những gì tôi đang cố gắng làm là phát hiện xem có thư thoại mới hay không. Không cần nội dung của thư thoại. Chưa tìm được giải pháp nào. – PVS

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