我想只从PhoneStateListener获得活动调用。 我用方法onCallStateChanged创建了监听器。 一旦我拨打(并且接听电话),状态已经摘机。
嗯,由于API中的文字,我并不感到惊讶: 设备呼叫状态:摘机。至少存在一个拨号,活动或保持的呼叫,并且没有呼叫振铃或等待。
但有可能只接听有效电话吗? 日Thnx!
答案 0 :(得分:-1)
从我在nexus上尝试的那个,主动呼叫唤醒CALL_STATE_OFFHOOK, 尝试使用日志文件来观察步骤。
试试这个..
private PhoneStateListener mPhoneListener = new PhoneStateListener() {
public void onCallStateChanged(int state, String incomingNumber) {
switch (state) {
case TelephonyManager.CALL_STATE_RINGING:
Log.d(TAG, "ringing goes here");
break;
case TelephonyManager.CALL_STATE_OFFHOOK:
Log.d(TAG, "Active call goes here");
break;
case TelephonyManager.CALL_STATE_IDLE:
Log.d(TAG, "CALL STATE IDLE goes here");
break;
default:
Log.d(TAG, "Unknown state=" + state);
}
}
然后调用它:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
TelephonyManager tm = (TelephonyManager)getSystemService(TELEPHONY_SERVICE);
tm.listen(mPhoneListener, PhoneStateListener.LISTEN_CALL_STATE);
}
不要忘记为Mainifest文件添加权限:
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
希望有所帮助