簡體   English   中英

從活動外部接收Android活動事件?

[英]Receive Android activity events from outside the activity?

有沒有辦法讓我們從活動外部接收諸如onResumeonWindowFocusChanged等事件? 當這些事件在另一個類(僅具有對活動的引用)中引發時,我想運行一些代碼。

編輯:就我而言,我無法修改Activity類,或在子類中覆蓋它。

這些方法由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 */
}

我最后將Application.registerActivityLifecycleCallbacks用於onResume ,將Window.getCallback()用於onWindowFocusChanged 感謝@Karakuri在評論中提到第一種方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM