一. 修改本机蓝牙设备的可见性
二. 扫描周围可用的蓝牙设备
Eg:
一. 清单文件AdroidManifest.xml:
- <?xml version="1.0" encoding="utf-8"?>
- <manifest xmlns:android="http://schemas.android.com/apk/res/android"
- package="com.se7en"
- android:versionCode="1"
- android:versionName="1.0">
- <uses-sdk android:minSdkVersion="8" />
-
- <application android:icon="@drawable/icon" android:label="@string/app_name">
- <activity android:name=".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>
- <uses-permission android:name="android.permission.BLUETOOTH"/>
-
- <!-若需要管理蓝牙设备,如修改可见性,则需以下的权限->
- <uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
- </manifest>
二. 布局文件: main.xml:
- <?xml version="1.0" encoding="utf-8"?>
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="vertical"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- >
- <TextView
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:text="@string/hello"
- />
- <Button
- android:id="@+id/discoverButton"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:text="设置可见性"/>
- <Button
- android:id="@+id/scanButton"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:text="开始扫描"/>
- </LinearLayout>
三. MainActivity:
- import android.app.Activity;
- import android.bluetooth.BluetoothAdapter;
- import android.bluetooth.BluetoothDevice;
- import android.content.BroadcastReceiver;
- import android.content.Context;
- import android.content.Intent;
- import android.content.IntentFilter;
- import android.os.Bundle;
- import android.view.View;
- import android.view.View.OnClickListener;
- import android.widget.Button;
-
- public class MainActivity extends Activity {
- private Button discoverButton = null;
- private Button scanButton = null;
- private BluetoothAdapter adapter = null;
- private BluetoothReceiver bluetoothReceiver = null;
-
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
-
- adapter = BluetoothAdapter.getDefaultAdapter();
-
- discoverButton = (Button)findViewById(R.id.discoverButton);
- scanButton = (Button)findViewById(R.id.scanButton);
-
- discoverButton.setOnClickListener(new OnClickListener(){
- @Override
- public void onClick(View view) {
- Intent discoverIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE);
-
- discoverIntent.putExtra(BluetoothAdapter.EXTRA_DISCOVERABLE_DURATION,500);
- startActivity(discoverIntent);
- }
- });
-
- scanButton.setOnClickListener(new OnClickListener(){
- @Override
- public void onClick(View v) {
-
- adapter.startDiscovery();
- }
- });
-
-
- IntentFilter intentFilter = new IntentFilter(BluetoothDevice.ACTION_FOUND);
-
- bluetoothReceiver = new BluetoothReceiver ();
-
- registerReceiver(bluetoothReceiver,intentFilter);
-
- }
-
- private class BluetoothReceiver extends BroadcastReceiver{
- @Override
- public void onReceive(Context context, Intent intent) {
-
- BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
- System.out.println(device.getAddress());
- }
-
- }
- }