我一直在尝试通过覆盖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();
}
您确定正确覆盖了这些方法吗?
如果活动完成,则会触发 onDestroy 方法。如果它完成,就不可能不被触发。
我假设正在发生的事情是,这个手势并没有完成应用程序,因为它应该完成,或者它可能只是在后台进行。
您是否尝试过在暂停时覆盖?
http://developer.android.com/reference/android/app/Activity.html#ActivityLifecycle
但是,如果您阅读活动文档:
在某些情况下,系统将简单地终止活动的托管进程,而不在其中调用此方法(或任何其他方法),因此不应使用它来执行在进程消失后保留的操作。
也许这个手势直接清除RAM或它所做的任何事情,而不遵循Android标准。我想如果发生这种情况,您在尝试接收回调时会遇到麻烦。
您是否尝试过使用以下放置finish();
,从您要退出应用程序的位置。