2011-08-01 71 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小時。必須手動更改參數沒有限制。