我想在android平台上处理来电。我想设定一个时间期限, 如果手机接收到电话时,就会自动的发给来电用户一个信息。
如何设置?
你需要在 Activity 或者 Service中申明 PhoneStateListener:
PhoneStateListener phoneStateListener = new PhoneStateListener() {
@Override
public void onCallStateChanged(int state, String incomingNumber) {
if (state == TelephonyManager.CALL_STATE_RINGING) {
....
} else if(state == TelephonyManager.CALL_STATE_IDLE) {
....
} else if(state == TelephonyManager.CALL_STATE_OFFHOOK) {
....
}
super.onCallStateChanged(state, incomingNumber);
}
};
再在AndroidManifest.xml 中添加下面的权限:
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
继承你的类到 PhoneStateListener,并且重写 onCallStateChanged 方法:
class myCallListener extends PhoneStateListener{
@Override
public void onCallStateChanged(int state, String incomingNumber) {
// TODO Auto-generated method stub
switch (state) {
case TelephonyManager.CALL_STATE_RINGING:
// your logic here
break;
default:
break;
}
super.onCallStateChanged(state, incomingNumber);
}
}