在Nexus 7上关闭应用时会调用什么事件?

时间:2013-09-16 07:03:07

标签: android android-lifecycle

我一直试图通过覆盖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();
      }

2 个答案:

答案 0 :(得分:0)

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

如果活动完成,则触发onDestroy方法。如果完成它是不可能被触发的。

我假设正在发生的事情是,这个手势,并没有完成应用程序,因为它应该完成,或者它可能只是在背景上。

你试过覆盖onPause吗?

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

但是,如果您阅读活动文档:

  

在某些情况下,系统会在不调用此方法(或其他任何方法)的情况下简单地终止活动的托管过程,因此不应该使用它来执行过程消失后要保留的内容。

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

答案 1 :(得分:0)

您是否尝试使用以下地点finish();从您要退出应用的位置开始。