开发手册 欢迎您!
软件开发者资料库

Android - 蓝牙

Android蓝牙 - 学习Android编程以及如何开发Android手机和ipad应用程序,从环境设置,应用程序组件,活动生命周期,服务生命周期,应用程序架构,发布应用程序,调试应用程序,处理事件,布局,菜单,用户界面控件开始,样式和主题,处理轮换,字体管理,发送电子邮件,数据存储,管理媒体,发送短信,电话。

在许多方面,蓝牙是一种在两个不同设备之间发送或接收数据的方式. Android平台包括对蓝牙框架的支持,允许设备与其他蓝牙设备无线交换数据.

Android提供蓝牙API来执行这些不同的操作.

  • 扫描其他蓝牙设备

  • 获取配对设备列表

  • 通过服务发现连接到其他设备

Android提供BluetoothAdapter类到与蓝牙通信.通过调用静态方法getDefaultAdapter()创建此调用的对象.其语法如下:

private BluetoothAdapter BA;BA = BluetoothAdapter.getDefaultAdapter();

要启用设备的蓝牙功能,请使用以下蓝牙常量ACTION_REQUEST_ENABLE调用意图.它的语法是.

Intent turnOn = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);startActivityForResult(turnOn, 0);

除了这个常量之外,还有其他常量提供API,它支持不同的任务.它们列在下面.

Sr.No常数& description
1

ACTION_REQUEST_DISCOVERABLE

此常量用于开启发现蓝牙

2

ACTION_STATE_CHANGED

此常量将通知蓝牙状态已更改

3

ACTION_FOUND

此常量用于接收有关每个已发现设备的信息

启用蓝牙后,您可以通过调用getBondedDevices()方法获取配对设备的列表.它返回一组蓝牙设备.它的语法是.

  private Set< BluetoothDevice> pairedDevices;  pairedDevices = BA.getBondedDevices();

除了招架设备之外,API中还有其他方法可以更好地控制蓝牙.它们列在下面.

Sr.No方法& description
1

enable()

此方法启用适配器(如果未启用)

2

isEnabled()

如果启用了适配器,则此方法返回true

3

disable()

此方法禁用适配器

4

getName( )

此方法返回蓝牙适配器的名称

5

setName(String name )

此方法更改蓝牙名称

6

getState()

此方法返回蓝牙适配器的当前状态.

7

startDiscovery()

此方法启动蓝牙的发现过程120秒.

示例

此示例演示了BluetoothAdapter类,用于操作蓝牙并通过蓝牙显示配对设备列表.

要试验这个例子,你需要在实际设备上运行它.

步骤描述
1您将使用Android工作室创建一个Android应用程序包com.e. xample.sairamkrishna.myapplication.
2修改src/MainActivity.java文件以添加代码
3修改布局XML文件res/layout/activity_main.xml如果需要,添加任何GUI组件.
4修改AndroidManifest.xml以添加必要的权限.
5运行应用程序并选择正在运行的Android设备并在其上安装应用程序并验证结果.

以下是 src/MainActivity.java 的内容

package com.example.sairamkrishna.myapplication;import android.app.Activity;import android.bluetooth.BluetoothAdapter;import android.bluetooth.BluetoothDevice;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.widget.ArrayAdapter;import android.widget.Button;import android.widget.ListView;import android.widget.Toast;import java.util.ArrayList;import java.util.Set;public class MainActivity extends Activity  {   Button b1,b2,b3,b4;   private BluetoothAdapter BA;   private SetpairedDevices;   ListView lv;   @Override   protected void onCreate(Bundle savedInstanceState) {      super.onCreate(savedInstanceState);      setContentView(R.layout.activity_main);      b1 = (Button) findViewById(R.id.button);      b2=(Button)findViewById(R.id.button2);      b3=(Button)findViewById(R.id.button3);      b4=(Button)findViewById(R.id.button4);      BA = BluetoothAdapter.getDefaultAdapter();      lv = (ListView)findViewById(R.id.listView);   }   public void on(View v){      if (!BA.isEnabled()) {         Intent turnOn = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);         startActivityForResult(turnOn, 0);         Toast.makeText(getApplicationContext(), "Turned on",Toast.LENGTH_LONG).show();      } else {         Toast.makeText(getApplicationContext(), "Already on", Toast.LENGTH_LONG).show();      }   }   public void off(View v){      BA.disable();      Toast.makeText(getApplicationContext(), "Turned off" ,Toast.LENGTH_LONG).show();   }       public  void visible(View v){      Intent getVisible = new Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE);      startActivityForResult(getVisible, 0);   }       public void list(View v){      pairedDevices = BA.getBondedDevices();              ArrayList list = new ArrayList();      for(BluetoothDevice bt : pairedDevices) list.add(bt.getName());      Toast.makeText(getApplicationContext(), "Showing Paired Devices",Toast.LENGTH_SHORT).show();      final ArrayAdapter adapter = new  ArrayAdapter(this,android.R.layout.simple_list_item_1, list);              lv.setAdapter(adapter);   }}

以下是 activity_main.xml 的内容

这里abc表示it1352的标识.
                                                                              

以下是 Strings.xml的内容

   My Application

以下是 AndroidManifest.xml的内容

                                                                                                   

让我们尝试运行您的应用程序.我假设您已将实际的Android移动设备与计算机相关联.要从Android工作室运行应用程序,请打开项目的一个活动文件,然后单击运行Eclipse Run Icon icon从工具栏开始.如果你的蓝牙没有打开,那么它会请求你的许可启用蓝牙.

Anroid蓝牙教程

现在只需选择"获取可见"按钮即可打开您的可见性.将出现以下屏幕,询问您是否允许开启发现120秒.

Anroid蓝牙教程

现在只需选择List Devices选项.它将列出列表视图中的配对设备.就我而言,我只有一个配对设备.它显示如下.

Anroid Bluetooth Tutorial

现在只需选择关闭按钮以关闭蓝牙.当您关闭蓝牙指示蓝牙成功关闭时会出现以下消息.

Anroid Bluetooth Tutorial