超级活动控制器,可以控制整个应用程序

时间:2018-10-08 12:51:26

标签: android android-activity

最近,我正在开发一个可在整个应用程序中播放音乐的应用程序。音乐应在进入背景或屏幕锁定时暂停。为此,我必须在每个活动中分别编写一个onPause()和一个onResume(),以使音乐在回到背景时暂停并在回到主视图时恢复。我想知道是否有一种方法可以通过一个超级活动来控制android的生命周期,而我不需要在每个活动中都使用onPause和onResume。

3 个答案:

答案 0 :(得分:1)

您可以创建baseActivity并通过使所有其他活动扩展baseActivity来重用代码。

答案 1 :(得分:1)

首先,我建议您在服务中执行此操作(播放音乐)。看一下Android here中的服务。绑定服务后,您可以随时播放音乐或停止播放音乐。对于屏幕锁定情况,声明一个广播接收器,然后注册(在您的服务类别中)。看一下广播接收器here。屏幕锁定后,您的接收器将被触发,您可以停止接收器中的音乐。

答案 2 :(得分:1)

这类应用有@Override种方法

首先扩展Application,您就可以使用这样的方法

 public void onActivityCreated(Activity activity, Bundle bundle) {
   Log.e("","onActivityCreated:" + activity.getLocalClassName());
  }

  public void onActivityDestroyed(Activity activity) {
   Log.e("","onActivityDestroyed:" + activity.getLocalClassName());
  }

  public void onActivityPaused(Activity activity) {
   Log.e("","onActivityPaused:" + activity.getLocalClassName());
  }

  public void onActivityResumed(Activity activity) {
   Log.e("","onActivityResumed:" + activity.getLocalClassName());
  }  

当您从一项活动转移到另一项活动时,它们不会被调用,但是在您按下主屏幕按钮或销毁应用程序时会被调用

在这里,我会附加一些网站以获得更多帮助
link 1
link 2