【问题标题】:How to enable onDestroy-Logout method for entire app not just for Activity如何为整个应用程序启用 onDestroy-Logout 方法,而不仅仅是 Activity
【发布时间】:2014-09-26 11:02:05
【问题描述】:

onDestroy 用于销毁活动之前的任何最终清理。因此,如果在 onDestroy 函数中实现了注销方法,这对于具有多个活动的应用程序来说效果不佳,因为用户在浏览应用程序时将被注销;尤其是当用户决定按下后退按钮时。

如何在整个应用的onDestroy方法中实现注销功能; (当用户决定终止应用程序时)而不是针对每个单独的 ACTIVITY??

 @Override
public void onDestroy(){
    super.onDestroy();
    Log.i("RootActivity:onDestroy()","******onDestroy:call on IdleLogout******");
    //Logout method
    //set loginbutton
    .....
}

【问题讨论】:

  • 依赖onDestroy()方法不好。你不会知道它什么时候会被调用,有时操作系统会在需要资源的时候调用它。
  • @Aniruddha 那么当应用程序被用户销毁/终止时,您如何建议应用程序将用户注销?我不能使用 onTerminate(),因为这只适用于模拟器

标签: android ondestroy


【解决方案1】:

您始终可以扩展Activity 并创建自己的BaseActivity,它的onDestroy 方法将实现您的功能。

然后你可以从你自己的BaseActivity扩展你的活动!

public CustomActivity extends Activity{

   @Override
   public void onDestroy(){
       //etc...
   }

}


public ActivityA extends CustomActivity{}

【讨论】:

  • “public ActivityA extends CustomActivity{}”后面是什么?像我还需要在那里实现 onDestroy 方法吗?我知道 onDestroy() 也不能保证被调用。您如何确保在一致的基础上调用它;比如你需要在哪里实现“finish()”方法?
  • 不!如果你在你的父活动上实现它,你不必!
  • 哦,刚刚看到你剩下的评论!在这种情况下,您需要研究 Activity 生命周期以找出最适合您的套装! developer.android.com/training/basics/activity-lifecycle/…
  • onPause 和 OnDestroy 之间的相互关系是什么?为什么声明了onPause时,就不能调用onDeclared?
  • 你必须在谷歌上搜索这个或者问一个新问题!如果我帮助你接受我的回答:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-28
相关资源
最近更新 更多