我正在学习包含多个应用程序源代码的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作为清单文件中的启动器。但是存在相同的问题(应用启动后立即进入后台)
答案 0 :(得分:1)
在MainActivity onCreate()中,您有一个很大的try / catch块,如果引发异常,则完成活动()(...)。
您必须使用Log.e("YOUR_TAG", e.getMessage())
记录例外,以了解您的错误:)