【发布时间】:2016-03-14 00:21:30
【问题描述】:
我有一个连接到设备(在本例中为蓝牙信用卡机器)的功能,如下所示:
private void pinPar(final String name, final String address) {
MainActivity.this.runOnUiThread(new Runnable() {
@Override
public void run() {
pinpadSelected = new PinpadObject(name, address, false);
BluetoothConnectionProvider bluetoothConnectionProvider = new BluetoothConnectionProvider(MainActivity.this, pinpadSelected);
bluetoothConnectionProvider.setDialogMessage("Connecting to pinpad");
bluetoothConnectionProvider.setWorkInBackground(false);
bluetoothConnectionProvider.setConnectionCallback(new StoneCallbackInterface() {
@Override
public void onSuccess() {
Toast.makeText(getApplicationContext(), "Pinpad connected", Toast.LENGTH_SHORT).show();
out.println("Connected to " + name + " at " + address);
}
@Override
public void onError() {
Toast.makeText(getApplicationContext(), "Connection failed", Toast.LENGTH_SHORT).show();
out.println("Failed connecting to "+ name + " at " + address);
}
}
);
bluetoothConnectionProvider.execute();
}
});
}
我希望创建一个类似的函数 pinUnpar 来简单地关闭该连接,但 bluetoothConnectionProvider 没有方法 close() 或类似的东西。我怎样才能做到这一点?
【问题讨论】:
-
伙伴,BluetoothConnectionProvider 是否在您导入的库中?因为在我的一生中,我在 android API 文档中找不到这个。
-
@gedo 这解释了我在谷歌上搜索时的痛苦。我以为它是 android API 的一部分,但实际上它是 this SDK 的一部分
-
提供的蓝牙API比你使用imo的那个SDK好很多(我看了看),使用它创建连接和控制它要容易得多。
-
@gedo 如果您想使用普通的蓝牙 API 提供和回答,我很乐意接受:)