Bluetooth for Android (ii)--modify the visibility of the native Bluetooth device and scan the available Bluetooth devices around

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>

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.