我正在尝试使用android开发者页面作为参考,将蓝牙耳机连接到我的Android设备。 http://developer.android.com/guide/topics/connectivity/bluetooth.html
我的问题是当我尝试调用getProfileProxy(context,mProfileListener,BluetoothProfile.HEADSET)方法时,我不确定要为上下文传递什么?我从这里的问题中找到了这个错误: can not connect to bluetooth headset in android
我对此非常陌生,所以如果这是一个愚蠢的问题,我会提前道歉。我花了很多时间来研究这个,但我找到的每个示例和文档都传递了一个上下文变量,所以我不确定我哪里出错了。我的代码,或多或少是Android文档的副本是:
//建立与代理的连接。 boolean mProfileProxy = mBluetoothAdapter.getProfileProxy(context,mProfileListener,BluetoothProfile.HEADSET); Log.d(TAGP,“获取适配器成功:”+ mProfileProxy); Log.d(TAGP,“上下文:”+上下文);
BluetoothProfile.ServiceListener mProfileListener = new BluetoothProfile.ServiceListener() {
public void onServiceConnected(int profile, BluetoothProfile proxy) {
if (profile == BluetoothProfile.HEADSET) {
mBluetoothHeadset = (BluetoothHeadset) proxy;
Log.d(TAGP,"BLuetooth Headset: "+mBluetoothHeadset);
Log.d(TAGP,"Proxy: "+proxy);
}
}
public void onServiceDisconnected(int profile) {
if (profile == BluetoothProfile.HEADSET) {
mBluetoothHeadset = null;
}
}
};
答案 0 :(得分:1)
上下文可以是活动或服务上下文。因此,如果上述代码位于扩展活动或服务的类中,则可以传递此。
您可以在Using the Android RecognizerIntent with a bluetooth headset