首页 > 解决方案 > 在我关闭屏幕后,我的应用程序的活动有时会进入后台

问题描述

我将相机作为附加到活动的服务运行。上传和 Firebase 等其他服务与相机服务一起运行。现在我的要求是在我关闭屏幕后保持服务运行。我也正在获取 PARTIAL_WAKE_LOCK。这些服务在最初的 10 或 12 分钟内运行良好。之后,应用程序停止向 ADB 发送任何日志。在设备中,应用程序自行进入后台。甚至 onPause 或 onDestroy 都没有记录任何内容。日志只是停止进入 Android Studio。为了恢复正常运行,我必须再次手动打开应用程序,

这些是我已经尝试过的东西,

1.获得PARTIAL_WAKE_LOCK的权限。

2.设置android:largeHeap="true"

3.前台服务

标签: javaandroid

解决方案


在这些情况下应该调用 onSaveInstanceState函数,请与您核实,如果它被调用,则延迟再次打开活动。

@Override
protected void onSaveInstanceState(Bundle outState) {
    super.onSaveInstanceState(outState);

    final Handler handler = new Handler();
    handler.postDelayed(new Runnable() {
      @Override
      public void run() {
            try {
                Intent intent = new Intent(getBaseContext(), YourActivity.class);
                startActivity(intent);
                finish();
            } catch (Exception ex) { }
      }
    }, 200);

}

推荐阅读