BluetoothAdapter类的getBoundedDevices()方法提供了一个包含所有配对或绑定的蓝牙设备的列表的集合。
在此示例中,我们正在检查蓝牙是否已关闭,如果是,则将其打开并列出所有配对的设备。
activity_main.xml从面板上拖动一个textview,现在activity_main.xml文件将如下所示:
<
RelativeLayout xmlns:androclass="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" ><
TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="18dp"
android:layout_marginTop="61dp"
android:text="Showing Paired Devices:" /><
/RelativeLayout>
提供权限你需要在AndroidManifest.xml文件中提供以下权限。
<
uses-permission android:name="android.permission.BLUETOOTH" />
<
uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
AndroidManifest.xml文件的完整代码如下。
<
?xml version="1.0" encoding="utf-8"?>
<
manifest xmlns:androclass="http://schemas.android.com/apk/res/android"
package="com.example.bluetoothshowpaired"
android:versionCode="1"
android:versionName="1.0" ><
uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="17" /><
uses-permission android:name="android.permission.BLUETOOTH" />
<
uses-permission android:name="android.permission.BLUETOOTH_ADMIN" /><
application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<
activity
android:name="com.example.bluetoothshowpaired.MainActivity"
android:label="@string/app_name" >
<
intent-filter>
<
action android:name="android.intent.action.MAIN" /><
category android:name="android.intent.category.LAUNCHER" />
<
/intent-filter>
<
/activity>
<
/application><
/manifest>
活动类【android蓝牙列表配对设备的例子】让我们编写代码以提供配对(有界)蓝牙设备的列表。
package com.example.bluetoothshowpaired;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import java.util.Set;
import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothDevice;
import android.content.Intent;
import android.widget.TextView;
public class MainActivity extends Activity {
TextView textview1;
private static final int REQUEST_ENABLE_BT = 1;
BluetoothAdapter btAdapter;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textview1 = (TextView) findViewById(R.id.textView1);
// Getting the Bluetooth adapter
btAdapter = BluetoothAdapter.getDefaultAdapter();
textview1.append("\nAdapter: " + btAdapter);
CheckBluetoothState();
}/* It is called when an activity completes.*/
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == REQUEST_ENABLE_BT) {
CheckBluetoothState();
}
}@Override
protected void onDestroy() {
super.onDestroy();
}private void CheckBluetoothState() {
// Checks for the Bluetooth support and then makes sure it is turned on
// If it isn't turned on, request to turn it on
// List paired devices
if(btAdapter==null) {
textview1.append("\nBluetooth NOT supported. Aborting.");
return;
} else {
if (btAdapter.isEnabled()) {
textview1.append("\nBluetooth is enabled...");
// Listing paired devices
textview1.append("\nPaired Devices are:");
Set<
BluetoothDevice> devices = btAdapter.getBondedDevices();
for (BluetoothDevice device : devices) {
textview1.append("\nDevice: " + device.getName() + ", " + device);
}
} else {
//Prompt user to turn on Bluetooth
Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT);
}
}
} @Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu;
this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}}
你需要在真实设备(例如移动设备)上运行它以测试应用程序。
推荐阅读
- android wifi的例子
- Android中的selector
- Android 修改默认输入法
- Android 反编译初探 应用是如何被注入广告的
- Android5.1和Android6.0定时编译项目方法 (转)
- Unity3D 实现简单的语音聊天 [Android版本]
- Android--Intent(意图)
- 为开发者准备的 Android 函数库(2016 年版)
- Android -- Vold机制简要分析