0
我買了綁定服務的一個問題: 我用下面的代碼:通過量bindService()服務的Android的實例
protected void onCreate(){
...
button.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
if(mService != null)
Log.e(TAG, "is instantiated (onClick)!");
});
}
protected void onStart(){
super.onStart();
bindService(new Intent(this, HostService.class), connection, Context.BIND_AUTO_CREATE);
if(mService == null)
Log.e(TAG, "is null (onStart)!");
}
...
開始我的活動結束後「爲空(在onStart)!」打印在LogCat中。 當我點擊按鈕「被實例化(onClick)!」被打印。 爲什麼bindService()不直接實例化我的服務實例mService,我該如何解決引用此問題的問題?
THX &問候
好的,但我必須在onServiceConnected()做一些用戶界面的東西。所以我發送消息給在我的活動中實現的處理程序(消息的處理現在應該在Ui線程上運行),但是我得到以下異常:textview.checkforrelayout上的nullpointerexception 這有點令人困惑..? – user2224350 2013-05-04 21:55:02
@ user2224350:「但我必須在onServiceConnected()中做一些ui的東西 - 」onServiceConnected()'在主應用程序線程上被調用。 「這有點令人困惑......?」 - 歡迎您在發佈代碼,堆棧跟蹤以及它們如何匹配(即代碼的哪些行從堆棧跟蹤中引用)的情況下啓動另一個StackOverflow問題。 – CommonsWare 2013-05-04 22:00:48