簡體   English   中英

需要有關活動和服務行為的建議

[英]Need advices for Activity and Service behavior

我的問題是理論上的,實際上我已經看過有關如何綁定或如何使用服務啟動活動的示例,但我仍然一無所獲:我寫了一個與活動綁定的服務,我想知道如何從此服務獲取調用bindService()方法的活動。

我的目的是要獲得服務所必需的對象,因為我希望它在后台偵聽網絡消息,因為該對象的包裹非常復雜,所以我寧願獲得包含它的活動。
當前上下文是否可以調用?

感謝您的回答。

如果您的服務僅在應用程序中使用,並且一次僅由一個進程使用,則可以嘗試使用綁定的服務。 用於在活動和服務之間進行通信的IBinder接口中的IBinder實現了返回本地服務的公共方法。 IBinder將通過onServiceConnected()回調提供給活動。 此時,活動可以獲取Service對象,並在其上調用一個公共方法以傳遞所需的對象。

public class MyService extends Service {

    private final IBinder mBinder = new MyBinder(); //singleton

    private MyObject mObject;

    public class MyBinder extends Binder {
        MyService getService() {
            return this;
        }
    }

    @Override
    public IBinder onBind(Intent intent) {
        return mBinder;
    }

    public void setMyObject(MyObject mObject) {
      this.mObject = mObject;
    }
}

希望這對您有用。

暫無
暫無

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

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