TelephonyManager.DATA_ACTIVITY_N0NE: phá vỡ;}chuyển đổi (dataState) {}trường hợp TelephonyManager.DATA_C0NNECTED: phá vỡ; trường hợp TelephonyManager.DATA_C0NNECTiNG: phá vỡ;trường hợp TelephonyManager.DATA_DISCONNECTED: phá vỡ; trường hợp TelephonyManager.DATA_SUSPENDED: phá vỡ;}Quản lý điện thoại cho biết chỉ dựa trên điện thoại, thông tin kết nối (dữ liệu di động như trái ngược với Wi-Fi). Kết quả là, trong hầu hết các trường hợp người quản lý kết nối là một lựa chọn tốt hơn để xác định tình trạng kết nối hiện thời.Theo dõi những thay đổi trong tình trạng điện thoại bằng cách sử dụng nghe tình trạng điện thoạiCác điện thoại Android API cho phép bạn theo dõi những thay đổi tình trạng điện thoại và kết hợp các chi tiết như số điện thoại đến.Thay đổi đối với tình trạng điện thoại đang theo dõi bằng cách sử dụng lớp PhoneStateListener, với một số thay đổi trạng thái cũng được phát sóng như Intents. Phần này mô tả làm thế nào để sử dụng điện thoại nhà nước nghe, và các phần sau đây mô tả các Intents phát sóng có sẵn.Để theo dõi và quản lý tình trạng điện thoại, ứng dụng của bạn cần phải xác định quyền sử dụng read_phone_state:Tạo một lớp mới thực hiện điện thoại nghe nhà nước để theo dõi, và trả lời, điện thoại nhà nước thay đổi các sự kiện, bao gồm cả trạng thái cuộc gọi (chuông, tắt móc, vv.), vị trí cell sẽ thay đổi, thư thoại và trạng thái chuyển tiếp cuộc gọi, thay đổi dịch vụ điện thoại, và thay đổi cường độ tín hiệu điện thoại di động.Trong vòng của bạn thực hiện thoại bang nghe, ghi đè xử lý sự kiện sự kiện bạn muốn phản ứng với. Xử lý từng nhận được tham số cho biết tình trạng điện thoại mới, chẳng hạn như vị trí hiện tại của tế bào, trạng thái cuộc gọi hay cường độ tín hiệu.Sau khi tạo của riêng bạn nghe nhà nước điện thoại, đăng ký nó với các điện thoại quản lý bằng cách sử dụng một bitmask để chỉ ra các sự kiện mà bạn muốn nghe nhất:telephonyManager.listen (phoneStateListener,PhoneStateListener.LiSTEN_CALL_F0RWARDING_INDiCAT0R | PhoneStateListener.LISTEN_CALL_STATE | PhoneStateListener.LiSTEN_CELL_L0CATi0N | PhoneStateListener.LISTEN_DATA_ACTIVITY | PhoneStateListener.LiSTEN_DATA_C0NNECTi0N_STATE | PhoneStateListener.LISTEN_MESSAGE_WAITING_iNDiCAT0R | PhoneStateListener.LISTEN_SERVICE_STATE | PhoneStateListener.LISTEN_SIGNAL_STRENGTHS);Để unregister một người nghe, gọi nghe và vượt qua trong PhoneStateListener.LiSTEN_N0NE như là tham số bitmask:telephonyManager.listen (phoneStateListener,PhoneStateListener.LiSTEN_N0NE);Nghe nhà nước điện thoại của bạn sẽ nhận được điện thoại thông báo thay đổi trạng thái chỉtrong khi các ứng dụng đang chạy.Giám sát các cuộc gọi đến điện thoạiNếu ứng dụng của bạn nên trả lời các cuộc gọi đến điện thoại chỉ trong khi nó đang chạy, bạn có thể over¬ride onCallStateChanged phương pháp của bạn thực hiện thoại bang nghe, và đăng ký để nhận thông báo khi thay đổi trạng thái cuộc gọi:PhoneStateListener callStateListener = new PhoneStateListener() {khu vực void onCallStateChanged (int bang, Chuỗi incomingNumber) {}String callStateStr = "Unknown";switch (state) {case TelephonyManager.CALL_STATE_IDLE : callStateStr = "idle"; break; case TelephonyManager.CALL_STATE_0FFH00K : callStateStr = "offhook"; break; case TelephonyManager.CALL_STATE_RINGING :callStateStr = "ringing. Incoming number is: "+ incomingNumber; break; default :
đang được dịch, vui lòng đợi..
