1

如何自己启动服务?我不想从另一个活动启动服务。但我想将服务绑定到活动。我的问题与此链接中描述的完全一样。 在 bindService 方法之后从未调用过 onServiceConnected, 即从未调用过我的 onserviceconnected。

Messenger mService = null;
public void onServiceConnected(ComponentName className, IBinder service) {
            mService = new Messenger(service);
            Log.d("IMSLogging", "inside onServiceConnected");
        }

从我的活动的 oncreate 开始,我正在调用 bindService.但是当我在执行 mService.send(msg) 时,我得到了一个空指针异常;从 oncreate 开始。(当然,在调用 bindService 之后。)虽然 bindService 返回 true。,

4

1 回答 1

2

在收到回拨mService.send()之前您不能打电话onServiceConnected()。这意味着您不能同时执行bindService()mService.send()in onCreate()。您需要将mService.send()呼叫移至其中一个onResume()或移入onServiceConnected()或其他地方。

于 2012-07-23T11:56:30.300 回答