-1

我已经尝试了几个小时来让我的程序正确运行,通过覆盖两者onStop()onDestroy(),但是当使用滑动技术关闭 Nexus 上的应用程序时,这些事件似乎并没有正确触发,就像他在这个 youtube 视频http中所做的那样://youtu.be/1HBW7FG-xcQ?t=22s

   @Override
     protected void onStop() {
     super.onStop();
     Log.d("onStop", "Yay, we are in!");
     datasource.Open();
     datasource.UpdateIsPlaying(0);
     datasource.Close();
     }

     @Override
      protected void onDestroy() {
      super.onDestroy();
      Log.d("onDestroy", "Yay, we are in!");
      datasource.Open();
      datasource.UpdateIsPlaying(0);
      datasource.Close();
      }

      @Override
       protected void onPause() {
       super.onPause();
       Log.d("onPause", "Yay, we are in!");
       datasource.Open();
       datasource.UpdateIsPlaying(0);
       datasource.Close();
      }
4

2 回答 2

0

你确定你正确地覆盖了这些方法吗?

如果 Activity 结束,就会触发 onDestroy 方法。完成后不可能不触发。

我假设正在发生的事情是,这个手势并没有像应该完成的那样完成应用程序,或者它只是在后台运行。

您是否尝试过覆盖 onPause?

http://developer.android.com/reference/android/app/Activity.html#ActivityLifecycle

但是,如果您阅读 Activity 文档:

在某些情况下,系统会简单地终止 Activity 的宿主进程,而不会在其中调用此方法(或任何其他方法),因此不应使用它来执行打算在进程消失后保留的事情。

也许这个手势会直接清除 RAM 或不管它做什么,而不遵循 Android 标准。我想如果发生这种情况,您在尝试接收回调时会遇到麻烦。

于 2013-09-16T07:12:32.590 回答
0

您是否尝试过从finish();您要退出应用程序的位置使用以下位置。

于 2013-09-16T07:37:05.877 回答