调用MainActivity类时,应用程序进入后台

时间:2018-12-20 15:03:27

标签: java android android-activity

我正在学习包含多个应用程序源代码的Android开发。我在Android Studio中打开了一个项目。我使用GitHub上的一些开源库开发了该应用程序的一部分。我的问题是应用正在编译并且可以构建APK,但是当我在设备上运行APK时会进入后台(不会崩溃,因为当我检查logcat时没有崩溃的痕迹)。

当我首先运行应用程序时,SplashScreen类将被加载(它没有问题)。启动屏幕加载后,它应该打开MainActivity类,但是会进入后台(正如我已经说过的,这甚至没有崩溃)

以下是SplashActivity的代码:

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        [[SUUpdater sharedUpdater] checkForUpdatesInBackground];
    }
}

更新:该问题现已解决。问题在于onCreate方法内部的异常处理。无论发生什么异常,活动都会结束(public class SplashActivity extends BaseActivity { private void runSplash() { new CountDownTimer(TimeUnit.SECONDS.toMillis(3), 100) { public void onTick(long j) { onFinish() } public void onFinish() { SplashActivity.this.startActivity(new Intent(SplashActivity.this, MainActivity.class)); SplashActivity.this.finish(); } }.start(); } protected void onCreate(Bundle bundle) { super.onCreate(bundle); setContentView(R.layout.activity_splash); runSplash(); } protected void onDestroy() { super.onDestroy(); } } )。感谢您帮助我理解。

启动活动结束后,应显示MainActivity,但应用程序变为后台。我什至尝试忽略了Splash Activity,而只是将ManActivest作为清单文件中的启动器。但是存在相同的问题(应用启动后立即进入后台)

1 个答案:

答案 0 :(得分:1)

在MainActivity onCreate()中,您有一个很大的try / catch块,如果引发异常,则完成活动()(...)。

您必须使用Log.e("YOUR_TAG", e.getMessage())记录例外,以了解您的错误:)