2011-11-03 117 views
0


我正在开发一个Android应用程序,它必须通过BT自动创建两个设备之间的通信来交换一些数据。要做到这一点,我发现唯一的方法是首先让设备找到对方,然后协商一个将打开ServerSocket并主持连接的主设备。
我的问题是如何在不向用户提示请求的情况下切换BT可发现性!Android蓝牙可发现性

我搜索了网络没有成功,所以我开始考虑可能的解决方案。 首先,我想到了一个类似于BroadcastReceiver的东西,它会捕获请求,而不是由StartActivity(new Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE))启动的默认活动,但我不知道如何才能使设备可以被发现。
最近我想过通过自动选择正面按钮来隐藏或解除先例调用引发的对话。我再一次不知道该怎么做!

任何帮助将非常感谢,提前感谢大家,对不起我的英文不好!

回答

1

我不能指向任何明确的文档,但我敢肯定你不允许默默地打开和关闭android中的蓝牙。蓝牙可发现性在一天结束时总是由用户决定。颠覆他们的权威是一个巨大的安全问题。

+0

谢谢你的答案,你的#2的建议!回复晚了非常抱歉。无论如何,我设法“扭转”尊重用户隐私的问题。 – gmbilla

0

您可以在一个实例调用.enable()BluetoothAdapter

BluetoothAdapter bluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); 
bluetoothAdapter.enable();