[英]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.