Android 超级活动控制器,可控制整个应用程序
最近,我正在开发一个应用程序,可以在整个应用程序中播放背景音乐。当音乐进入背景或屏幕被锁定时,音乐应该暂停。为此,我必须在每个活动中编写一个Android 超级活动控制器,可控制整个应用程序,android,android-activity,Android,Android Activity,最近,我正在开发一个应用程序,可以在整个应用程序中播放背景音乐。当音乐进入背景或屏幕被锁定时,音乐应该暂停。为此,我必须在每个活动中编写一个onPause()和一个onResume(),让音乐在进入背景时暂停,在返回主视图时恢复。我想知道是否有一种方法可以通过一个超级活动来控制android的生命周期,我不需要在每个活动中都使用onPause和onResume。您可以创建一个baseActivity,并通过使所有其他活动扩展baseActivity来重用代码。首先,我建议您这样做服务中的事物(播
onPause()
和一个onResume()
,让音乐在进入背景时暂停,在返回主视图时恢复。我想知道是否有一种方法可以通过一个超级活动来控制android的生命周期,我不需要在每个活动中都使用onPause和onResume。您可以创建一个baseActivity,并通过使所有其他活动扩展baseActivity来重用代码。首先,我建议您这样做服务中的事物(播放音乐)。看看android中的服务。绑定服务后,您可以随时播放或停止音乐。对于屏幕锁定情况,声明一个广播接收器,然后注册它(在您的服务类中)。看看广播接收机。一旦你的屏幕被锁定,你的接收器就会被触发,你可以在接收器中停止音乐。这种应用有@Override
方法
首先扩展应用程序
,您可以使用如下方法
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());
}
当你从一个活动切换到另一个活动时,它们不会被调用,但当你按下主页按钮或从最近的活动中销毁应用程序时,它们会被调用
这里我附上一些网站以获取更多帮助谢谢@好奇的梅因。还有别的办法吗!或者这是唯一可以做到的方法?应该还有其他的方法-这是我现在唯一能想到的方法。我想在音乐活动恢复时继续播放音乐。广播接收器能做到这一点吗?我正在尝试所有可能的方法来达到上述要求。谢谢,@Kevin。这看起来很简单,非常适合我的应用程序。很高兴我能帮助你好Kevin,我测试了你的代码,发现每次我在活动之间移动时,都会调用函数onActivityPused()和onActivityResumed()。难道它不应该只在按下主页按钮或屏幕锁定时工作吗。