我们是否有办法从活动外部接收onResume
,onWindowFocusChanged
等活动?我想在另一个类中引发这些事件时运行一些代码,这个类只引用了该活动。
编辑:在我的情况下,我无法修改Activity类,或在子类中覆盖它。
答案 0 :(得分:0)
这些方法由Android OS调用。你可以做的最好的事情是你的Activity有一个这个其他类的实例,你可以在那个类中使用类似的方法,你的Activity将在它自己的生命周期方法中调用。
public class SomeOtherClass {
public void onResume() {
...
}
public void onPause() {
...
}
/* other similar methods */
}
public class MyActivity extends Activity {
private SomeOtherClass someOtherClass; // make sure to initialize this somewhere
@Override
protected void onResume() {
super.onResume();
someOtherClass.onResume();
}
@Override
protected void onPause() {
super.onPause();
someOtherClass.onPause();
}
/* and so one */
}
答案 1 :(得分:0)
我最终使用onResume
用于onWindowFocusChanged
,Application.registerActivityLifecycleCallbacks
用于{{1}}。感谢您Window.getCallback()
提及评论中的第一种方法。