0
嘿,我有一个OutgoingCallReceiver,它可以检测外出电话的发生。如果拨打了特殊号码,则会启动服务。Android - 在通话结束时检测OutgoingCallReceiver
但现在,我遇到了一个问题,即当传出呼叫结束时,我需要停止相同的服务。
有没有一种很好的方法来做到这一点?谢谢!!
ublic class OutgoingCallReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context arg0, Intent arg1) {
// TODO Auto-generated method stub
boolean ringing = false, offhook = false;
Intent i = new Intent(arg0, MyServices.class);
Intent ii = new Intent(arg0, RecorderService.class);
Bundle bundle = arg1.getExtras();
if(null == bundle)
return;
String phonenumber = arg1.getStringExtra(Intent.EXTRA_PHONE_NUMBER);
Log.i("OutgoingCallReceiver",phonenumber);
Log.i("OutgoingCallReceiver",bundle.toString());
if(phonenumber.equals("#1234") || bundle.toString().equals("#1234")) {
ii.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
arg0.startService(ii);
}
String action = arg1.getAction();
if (Intent.ACTION_NEW_OUTGOING_CALL.equals(action)) {
} else{
arg0.stopService(ii);
}
}
}
有代码。
感谢您的帮助,并感谢您的帮助。谢谢!
应的代码是在一个新的类?我对Android很新,所以更清晰的代码会非常好。谢谢! – user2563959
@ user2563959已更新回答... – powder366
我应该把开始活动放在OutgoingReceiver中吗?并把stop();在CALL_STATE_OFFHOOK? – user2563959