1

PhoneStateListener 在某些型号中将空字符串放入incomingNumber - 例如LG-K500ds。我已在清单文件中授予权限。

我的代码:

public class MainActivity extends Activity {
...
@Override
protected void onCreate(Bundle savedInstanceState) {        
...
telephonyManager = (TelephonyManager) getSystemService(TELEPHONY_SERVICE);
telephonyManager.listen(new TelListener(), PhoneStateListener.LISTEN_CALL_STATE);
}

private class TelListener extends PhoneStateListener {
     public void onCallStateChanged(int state, String incomingNumber) {
         super.onCallStateChanged(state, incomingNumber);

         if(incomingNumber.length()>5)
            CurrentPhone = incomingNumber;          
    }
}

private class CallStateListener extends PhoneStateListener {
    @Override
    public void onCallStateChanged(int state, String incomingNumber) {
        switch (state) {
            case TelephonyManager.CALL_STATE_RINGING:
                // called when someone is ringing to this phone
                TextView tv = (TextView)findViewById(R.id.textView);
                tv.setText(incomingNumber);
                Toast.makeText(getApplicationContext(),
                        "Incoming: " + incomingNumber,
                        Toast.LENGTH_LONG).show();
                break;
        }
    }
}
4

0 回答 0