2010-12-10 16 views
5

Nguồn:Không thể để có được chuỗi không rỗng từ PhoneStateListener :: onCallStateChanged

listener = new PhoneStateListener() 
    { 
     @Override 
     public void onCallStateChanged(int state, String incomingNumber) { 
      super.onCallStateChanged(state, incomingNumber); 
      Toast toast = Toast.makeText(getApplicationContext(), incomingNumber, Toast.LENGTH_LONG); 
      toast.show(); 
     } 

    }; 

    ((TelephonyManager)getSystemService(TELEPHONY_SERVICE)).listen(listener , PhoneStateListener.LISTEN_CALL_STATE) 

Hi,
Tôi đang sử dụng mã này, với android.permission.READ_PHONE_STATE phép, để nhận được tin nhắn chúc mừng bao gồm số lượng cuộc gọi bắt đầu. Vấn đề của tôi là incomingNumber là trống rỗng, nó doest không quan trọng nếu cuộc gọi là đi hoặc incomming, bánh mì nướng xuất hiện, nhưng trống rỗng.
Tôi đã thấy một số giải pháp cho điều này, nhưng giải pháp là để có được con số với cách hoàn toàn khác và tôi muốn biết nếu mã của tôi có thể được sử dụng cho các nhu cầu của tôi.
Cảm ơn lời khuyên,
Adam

+0

Câu hỏi này có vẻ tương tự, hy vọng nó có thể giúp bạn: http://stackoverflow.com/questions/4534306/retrieve-the-call-number-in-my-android-app –

+0

http: // stackoverflow. com/questions/4534306/truy xuất-gọi-số-trong-my-android-app/4534415 # 4534415 – medampudi

Trả lời

2

vui lòng bao gồm sự cho phép trong đơn đăng ký của bạn.

<uses-permission android:name="android.permission.READ_PHONE_STATE" /> 


if(state == TelephonyManager.CALL_STATE_RINGING){ 
Toast toast = Toast.makeText(getApplicationContext(), incomingNumber, Toast.LENGTH_LONG); 
toast.show(); 
} 

CALL_STATE_OFFHOOK trả về null nếu cuộc gọi đầu tiên. Vì vậy, bạn nên sử dụng CALL_STATE_RINGING.

Hy vọng nó sẽ giúp bạn.