当我从http://code.google.com/p/android/issues/detail?id=6348#makechanges的讨论中读到时,我们可以无限制地让Android蓝牙发现,我看到蜂窝3.1现在公开可用,任何人都可以解释使用蜂窝3.1开发环境如何让蓝牙不断被发现? 我探索了文档,但找不到适合我解决方案的方法。 。 提前致谢 。 。
答案 0 :(得分:1)
我相信BluetoothAdapter.startDiscovery()
会阻止蓝牙适配器被发现,直到您拨打BluetoothAdapter.cancelDiscovery()
。
答案 1 :(得分:0)
遵循意图应该这样做。
Intent discoverableIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE); discoverableIntent.putExtra(BluetoothAdapter.EXTRA_DISCOVERABLE_DURATION,0); startActivity(discoverableIntent);
'您可以通过添加EXTRA_DISCOVERABLE_DURATION Intent extra来定义不同的持续时间。应用程序可以设置的最长持续时间为3600秒,值为0表示设备始终可被发现。“
来源:http://developer.android.com/guide/topics/connectivity/bluetooth.html
答案 2 :(得分:0)
You can try this:
try {
Method bluetoothDeviceVisibility;
bluetoothDeviceVisibility = mBluetoothAdapter.getClass().getMethod("setScanMode", int.class, int.class);
bluetoothDeviceVisibility.invoke(mBluetoothAdapter, BluetoothAdapter.SCAN_MODE_CONNECTABLE_DISCOVERABLE, 0);
} catch (Exception e) {
e.printStackTrace();
}
答案 3 :(得分:-2)
在广播接收器内:
if (BluetoothAdapter.ACTION_DISCOVERY_FINISHED.equals(action)) {
// When discovery is finished, change the Activity title
Log.d("***","Discovery finished");
mBluetoothAdapter.startDiscovery();
Log.d("","starting discovery..");
}
它不是完美的解决方案,但它可以满足我的需求