如果用户在活动过程中退出应用程序,然后重新启动应用程序,应用程序将崩溃

时间:2016-05-30 10:53:56

标签: android android-intent

我有一项名为" OtpVerification"包含30秒的计时器,在此过程中,如果我从应用程序退出,然后重新打开应用程序,则会产生问题1)几秒钟后,当我重新打开应用程序时,应用程序从MainActivity启动,而不是该活动和2)应用程序崩溃。

这里是场景: - 场景:当自动OTP验证过程开始时,30秒计时器启动,现在用户尝试结束此过程并按回按钮退出应用程序,然后他会在几秒钟内立即重新启动应用程序。现在,当计时器到期并且应用程序尝试启动手动OTP验证屏幕时,这会产生致命异常并且应用程序崩溃。

这里是代码: -

/home/mobile/log/

2 个答案:

答案 0 :(得分:0)

尝试在onPause()中取消注册您的Receiver并创建并将标志更改为false,并在onResume()中检查flag是否为false,然后再次重新注册接收器。 我在我的应用程序中遇到了类似的问题,这些确实帮助了我。

答案 1 :(得分:0)

有点像我在我的应用程序中实现的,我从我的服务中调用了接收器

@Override
protected void onResume() {
    super.onResume();
    registerReceiver();
}

@Override
protected void onPause() {
    LocalBroadcastManager.getInstance(this).unregisterReceiver(mRegistrationBroadcastReceiver);
    isReceiverRegistered = false;
    super.onPause();
}

private void registerReceiver(){
    if(!isReceiverRegistered) {
        LocalBroadcastManager.getInstance(this).registerReceiver(mRegistrationBroadcastReceiver,
                new IntentFilter(SessionStore.REGISTRATION_COMPLETE));
        isReceiverRegistered = true;
    }
}