0

目标:启动服务,等待连接准备好然后返回的方法。

此构造函数启动 (GPS) 服务。我需要确保在从构造函数返回之前调用了onServiceConnected

public GPS(Context context) {
    Intent intent = new Intent(context, GpsService.class);
    context.startService(intent);
    context.bindService(intent, this, Context.BIND_AUTO_CREATE);        

    // Want to wait here for the callback to onServiceConnected before returning.
    ...
    }

public void onServiceConnected(ComponentName className, IBinder service) {
   ...
}

为什么?我正在编写Android Junit Tests,并且testSomething () 方法失败,因为它们在服务连接之前运行。而且因为回调是为 Android 而不是为我制作的,所以我不能应用(我相信)传统的 Thread/wait/notify 解决方案。

我编写了一个运行良好的跟踪应用程序,因为代码总是检查并且如果连接尚未准备好则什么也不做,但 Junit 测试是另一回事。

4

0 回答 0