如何拒绝与服务的连接

时间:2011-12-07 17:17:15

标签: android android-service

我的Android服务在某些时候可能无法使用。

如果我的活动试图调用它,我想知道该服务是否可用。

我的活动代码是:

    boolean bound = context.bindService(new Intent(SERVICE_NAME), mConnection, Context.BIND_AUTO_CREATE);

    if (!bound) {
        // ....
    }

我的服务代码是:

@Override
public void onCreate() {
    mServiceEnabled = false;

    // calling some C code
    boolean readEnabled = JniCommunicator.enableRead();

    if (!readEnabled) {
        return;
    }

    // potentially return without reaching that point
    mServiceEnabled = true;
}

public IBinder onBind(Intent intent) {
    Log.d("Service", mServiceEnabled ? "enabled" : "DISABLED");
    return mServiceEnabled ? serviceBinder : null;
}

据我了解,返回null不会绑定服务,我的活动就能看到它,但我的bound变量始终为true。我的mConnection回调从未被调用过。

有什么问题? 请注意,服务和活动位于使用两个单独密钥签名的两个单独的APK中。我无法使用静态布尔来解决这个问题。

0 个答案:

没有答案