Bluetooth for Android (ii)--modify the visibility of the native Bluetooth device and scan the available Bluetooth devices around
Last Update:2017-05-02
Source: Internet
Author: User
<span id="Label3"></p><p class="copyright_p"><p class="copyright_p">Copyright Notice: This article for Bo Master original article, without Bo Master permission not Reproduced.</p></p><p><p>I. Modifying the visibility of native Bluetooth devices</p></p><p><p>TWO. Scan the available Bluetooth devices around</p></p><p><p></p></p><p><p></p></p><p><p>Eg:</p></p><p><p>A. Manifest file Adroidmanifest.xml:</p></p><strong><strong>[java]</strong></strong>View Plain<span data-mod="popu_168"><span data-mod="popu_168"><span data-mod="popu_168">Copy</span></span></span> <ol class="dp-j" start="1"> <li class="alt"><li class="alt"><?xml version=<span class="string">"1.0" encoding=<span class="string">"utf-8"?></span> </span></li></li> <li><li><manifest xmlns:android=<span class="string">"http://schemas.android.com/apk/res/android"</span></li></li> <li class="alt"><li class="alt"><span class="keyword">package=<span class="string">"com.se7en"</span> </span></li></li> <li><li>Android:versioncode=<span class="string">"1"</span></li></li> <li class="alt"><li class="alt">Android:versionname=<span class="string">"1.0" ></span></li></li> <li><li><USES-SDK android:minsdkversion=<span class="string">"8"/></span></li></li> <li class="alt"><li class="alt"></li></li> <li><li><application android:icon=<span class="string">"@drawable/icon" android:label=<span class="string">"@string/app_name" ></span> </span></li></li> <li class="alt"><li class="alt"><activity android:name=<span class="string">". Mainactivity "</span></li></li> <li><li>android:label=<span class="string">"@string/app_name" ></span></li></li> <li class="alt"><li class="alt"><intent-filter></li></li> <li><li><action android:name=<span class="string">"android.intent.action.MAIN"/></span></li></li> <li class="alt"><li class="alt"><category android:name=<span class="string">"android.intent.category.LAUNCHER"/></span></li></li> <li><li></intent-filter></li></li> <li class="alt"><li class="alt"></activity></li></li> <li><li></application></li></li> <li class="alt"><li class="alt"><uses-permission android:name=<span class="string">"android.permission.BLUETOOTH"/></span></li></li> <li><li></li></li> <li class="alt"><li class="alt"><!-if you need to manage a Bluetooth device, such as modify visibility, you need the following permissions</li></li> <li><li><uses-permission android:name=<span class="string">"android.permission.BLUETOOTH_ADMIN"/></span></li></li> <li class="alt"><li class="alt"></manifest></li></li> </ol><p><p>Two. Layout file: Main.xml:</p></p><p><p></p></p><strong><strong>[java]</strong></strong>View Plain<span data-mod="popu_168"><span data-mod="popu_168"><span data-mod="popu_168">Copy</span></span></span> <ol class="dp-j" start="1"> <li class="alt"><li class="alt"><?xml version=<span class="string">"1.0" encoding=<span class="string">"utf-8"?></span> </span></li></li> <li><li><linearlayout xmlns:android=<span class="string">"http://schemas.android.com/apk/res/android"</span></li></li> <li class="alt"><li class="alt">android:orientation=<span class="string">"vertical"</span></li></li> <li><li>Android:layout_width=<span class="string">"fill_parent"</span></li></li> <li class="alt"><li class="alt">android:layout_height=<span class="string">"fill_parent"</span></li></li> <li><li>></li></li> <li class="alt"><li class="alt"><textview</li></li> <li><li>Android:layout_width=<span class="string">"fill_parent"</span></li></li> <li class="alt"><li class="alt">android:layout_height=<span class="string">"wrap_content"</span></li></li> <li><li>android:text=<span class="string">"@string/hello"</span></li></li> <li class="alt"><li class="alt">/></li></li> <li><li><button</li></li> <li class="alt"><li class="alt">android:id=<span class="string">"@+id/discoverbutton"</span></li></li> <li><li>Android:layout_width=<span class="string">"fill_parent"</span></li></li> <li class="alt"><li class="alt">android:layout_height=<span class="string">"wrap_content"</span></li></li> <li><li>android:text=<span class="string">"setting visibility"/></span></li></li> <li class="alt"><li class="alt"><button</li></li> <li><li>android:id=<span class="string">"@+id/scanbutton"</span></li></li> <li class="alt"><li class="alt">Android:layout_width=<span class="string">"fill_parent"</span></li></li> <li><li>android:layout_height=<span class="string">"wrap_content"</span></li></li> <li class="alt"><li class="alt">android:text=<span class="string">"start scanning"/></span></li></li> <li><li></LinearLayout></li></li> </ol><br>Three. mainactivity:<p><p></p></p><p><p></p></p><strong><strong>[java]</strong></strong>View Plain<span data-mod="popu_168"><span data-mod="popu_168"><span data-mod="popu_168">Copy</span></span></span> <ol class="dp-j" start="1"> <li class="alt"><li class="alt"><span class="keyword">Import android.app.Activity;</span></li></li> <li><li><span class="keyword">Import android.bluetooth.BluetoothAdapter;</span></li></li> <li class="alt"><li class="alt"><span class="keyword">Import android.bluetooth.BluetoothDevice;</span></li></li> <li><li><span class="keyword">Import android.content.BroadcastReceiver;</span></li></li> <li class="alt"><li class="alt"><span class="keyword">Import android.content.Context;</span></li></li> <li><li><span class="keyword">Import android.content.Intent;</span></li></li> <li class="alt"><li class="alt"><span class="keyword">Import android.content.IntentFilter;</span></li></li> <li><li><span class="keyword">Import android.os.Bundle;</span></li></li> <li class="alt"><li class="alt"><span class="keyword">Import android.view.View;</span></li></li> <li><li><span class="keyword">Import android.view.View.OnClickListener;</span></li></li> <li class="alt"><li class="alt"><span class="keyword">Import android.widget.Button;</span></li></li> <li><li></li></li> <li class="alt"><li class="alt"><span class="keyword">Public <span class="keyword">class Mainactivity <span class="keyword">extends Activity {</span> </span></span></li></li> <li><li><span class="keyword">private Button Discoverbutton = <span class="keyword">null; </span></span></li></li> <li class="alt"><li class="alt"><span class="keyword">private Button Scanbutton = <span class="keyword">null; </span></span></li></li> <li><li><span class="keyword">Private Bluetoothadapter adapter = <span class="keyword">null; </span></span></li></li> <li class="alt"><li class="alt"><span class="keyword">private Bluetoothreceiver bluetoothreceiver = <span class="keyword">null; </span></span></li></li> <li><li><span class="comment">/** Called when the activity is first Created. *</span> /</li></li> <li class="alt"><li class="alt"><span class="annotation">@Override</span></li></li> <li><li><span class="keyword">public <span class="keyword">void OnCreate (Bundle Savedinstancestate) {</span> </span></li></li> <li class="alt"><li class="alt"><span class="keyword">super.oncreate (savedinstancestate); </span></li></li> <li><li>Setcontentview (r.layout.main);</li></li> <li class="alt"><li class="alt"></li></li> <li><li>adapter = Bluetoothadapter.getdefaultadapter ();</li></li> <li class="alt"><li class="alt"></li></li> <li><li>Discoverbutton = (Button) Findviewbyid (r.id.discoverbutton);</li></li> <li class="alt"><li class="alt">Scanbutton = (Button) Findviewbyid (r.id.scanbutton);</li></li> <li><li><span class="comment">//modify The visibility of Bluetooth devices</span></li></li> <li class="alt"><li class="alt">Discoverbutton.setonclicklistener (<span class="keyword">new Onclicklistener () {</span></li></li> <li><li><span class="annotation">@Override</span></li></li> <li class="alt"><li class="alt"><span class="keyword">public <span class="keyword">void OnClick (view view) {</span> </span></li></li> <li><li>Intent discoverintent = <span class="keyword">new Intent (bluetoothadapter.action_request_discoverable); </span></li></li> <li class="alt"><li class="alt"></li></li> <li><li><span class="comment">Set the Bluetooth visibility, 500 indicates the visible time in seconds, and the default is 300 when the value is greater than 300</span></li></li> <li class="alt"><li class="alt">Discoverintent.putextra (bluetoothadapter.extra_discoverable_duration,<span class="number">500); </span></li></li> <li><li>StartActivity (discoverintent);</li></li> <li class="alt"><li class="alt">}</li></li> <li><li>});</li></li> <li class="alt"><li class="alt"></li></li> <li><li>Scanbutton.setonclicklistener (<span class="keyword">new Onclicklistener () {</span></li></li> <li class="alt"><li class="alt"><span class="annotation">@Override</span></li></li> <li><li><span class="keyword">public <span class="keyword">void OnClick (View v) {</span> </span></li></li> <li class="alt"><li class="alt"><span class="comment">//start scanning around the Bluetooth device, the method is called asynchronously and returned as a broadcast mechanism, so you need to create a broadcastreceiver to get the information</span></li></li> <li><li>Adapter.startdiscovery ();</li></li> <li class="alt"><li class="alt">}</li></li> <li><li>});</li></li> <li class="alt"><li class="alt"></li></li> <li><li><span class="comment">//set filter for broadcast reception</span></li></li> <li class="alt"><li class="alt">Intentfilter intentfilter = <span class="keyword">new Intentfilter (bluetoothdevice.action_found); </span></li></li> <li><li><span class="comment">//receiver to create Bluetooth broadcast information</span></li></li> <li class="alt"><li class="alt">Bluetoothreceiver = <span class="keyword">new Bluetoothreceiver (); </span></li></li> <li><li><span class="comment">//register a broadcast receiver</span></li></li> <li class="alt"><li class="alt">Registerreceiver (bluetoothreceiver,intentfilter);</li></li> <li><li></li></li> <li class="alt"><li class="alt">}</li></li> <li><li></li></li> <li class="alt"><li class="alt"><span class="keyword">private <span class="keyword">class Bluetoothreceiver <span class="keyword">extends broadcastreceiver{</span> </span> </span></li></li> <li><li><span class="annotation">@Override</span></li></li> <li class="alt"><li class="alt"><span class="keyword">public <span class="keyword">void onreceive (context context, Intent Intent) {</span> </span></li></li> <li><li><span class="comment">//get A scanned remote Bluetooth device</span></li></li> <li class="alt"><li class="alt">Bluetoothdevice device = Intent.getparcelableextra (bluetoothdevice.extra_device);</li></li> <li><li>System.out.println (device.getaddress ());</li></li> <li class="alt"><li class="alt">}</li></li> <li><li></li></li> <li class="alt"><li class="alt">}</li></li> <li><li>}</li></li> </ol><p><p>Bluetooth for Android (ii)--modify the visibility of the native Bluetooth device and scan the available Bluetooth devices around</p></p></span>