我正在开发Android应用程序。
我使用三星Galaxy S3与原始ROM Jelly Bean 4.3。如何注销来电和去电的接听者?
我有来电和去电的接收器有问题。
这里是IncomingCallReceiver的代码:
public void onReceive(Context context, Intent intent) {
String state = intent.getStringExtra(TelephonyManager.EXTRA_STATE);
if (state.equals(TelephonyManager.EXTRA_STATE_RINGING)) {
if (Start.getMusicService().isPlaying()) {
pauseMusicService();
isMusicPlaying = true;
}
}
else if (state.equals(TelephonyManager.EXTRA_STATE_IDLE)) {
if (isMusicPlaying){
restartMusicService();
isMusicPlaying = false;
}
}
}
然而,这是没有问题的,这个代码的工作,也传出呼叫接收器完美的作品。
我的问题是,当我退出应用程序这个接收器仍然工作。
事情发生了,在我上次打开应用程序的几天后,我收到一个电话,应用程序崩溃。
我认为,它的发生,因为我写的代码:
if (Start.getMusicService().isPlaying())
因为开始(我的第一个活动)不存在。
我从来没有注册这个接收器,他们的工作没有我“打电话”他们。
我不知道我是否必须取消注册,以防万一我必须这样做。
那么,任何人都可以帮助我吗?
安德烈
Intent的接收器是在您的AndroidManifest还是在运行时注册的? –
@丹斯是的,我声明两个接收器的清单,他们完美的工作。 – andrea92