从活动外部接收Android活动事件?

时间:2014-04-29 07:27:25

标签: java android events android-activity

我们是否有办法从活动外部接收onResumeonWindowFocusChanged等活动?我想在另一个类中引发这些事件时运行一些代码,这个类只引用了该活动。

编辑:在我的情况下,我无法修改Activity类,或在子类中覆盖它。

2 个答案:

答案 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用于onWindowFocusChangedApplication.registerActivityLifecycleCallbacks用于{{1}}。感谢您Window.getCallback()提及评论中的第一种方法。