我正在为 Android 开发一个应用程序。
我使用带有原始 ROM Jelly Bean 4.3 的三星 Galaxy S3。
我的来电和去电接收器有问题。
下面是 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())
因为开始(我的第一个活动)不存在。
我从来没有注册过这个接收器,他们没有我“打电话”他们就可以工作。
我不知道我是否必须取消注册,以防万一我必须这样做。
那么,有人可以帮帮我吗?
安德烈亚