2011-08-01 38 views
0

有没有办法让我的应用程序在应用程序运行时被发现?我试图在Android开发者如与Android应用程序蓝牙可见性持续时间

Intent discoverableIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE); 
discoverableIntent.putExtra(BluetoothAdapter.EXTRA_DISCOVERABLE_DURATION, 0); 
startActivityForResult(discoverableIntent, DISC_DURATION); 

要做到这一点,但0的持续时间不工作,所以默认值120设置。有没有办法将它设置为始终可见?

回答

0

保持蓝牙一直可以发现并不意味着什么。 当你想找到一些新的设备或其他设备可以找到你的设备时,你必须使它可被发现。 之后,您的设备将交换一个共享的MAC ID,并将进行配对。

执行设备发现对于蓝牙适配器来说是一个沉重的过程,并且会消耗大量资源。一旦找到要连接的设备,请确保在尝试连接之前始终使用cancelDiscovery()停止发现。另外,如果您已经与设备保持连接,则执行发现操作可能会显着减少可用于连接的带宽,因此您不应在连接时执行发现。

更多信息请参阅本

http://developer.android.com/guide/topics/wireless/bluetooth.html#DiscoveringDevices

0

有没有办法为你设置蓝牙,可在任何连续2 *发现的Android版本;请参阅this bug report。它似乎已经在3. *版本中删除了限制,但我还没有看到任何确认。

0

我在三个设备上得出结论。

ANDROID v 4.3及更高版本:EXTRA_DISCOVERABLE_DURATION 0无限制工作 ANDROIND v 4.1:EXTRA_DISCOVERABLE_DURATION 0最长1小时。必须手动更改参数没有限制。