初识Android 蓝牙

1 BluetoothAdapter 用法

蓝牙运行原理:通过BluetoothAdapter 蓝牙适配器处理任务,如果蓝牙被启动之后,系统会自动去搜索其它设备,如果匹配到附近的设备就发送一个广播,BroadcastRecevier的onReceive被调用一次,我们只需要在onReceive中处理自己的操作即可。

蓝牙是一种支持设备短距离传输数据的无线技术。android在2.0以后提供了这方面的支持。 从查找蓝牙设备到能够相互通信要经过几个基本步骤(本机做为服务器):

1.在manifest中配置蓝牙操作的相关权限

  1. <uses-permission android:name="android.permission.BLUETOOTH"/>  
  2. <uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>  

2.启动蓝牙 首先要查看本机是否支持蓝牙,获取BluetoothAdapter蓝牙适配器对象

3 实现简单打开蓝牙

注意必须添加权限:<uses-permission android:name="android.permission.BLUETOOTH"/>  <uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>  

package com.example.administrator.blutooth;

import android.app.Activity;
import android.bluetooth.BluetoothAdapter;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends Activity {
    private Button btn_open, btn_close;
    private TextView txt_name, txt_other;
    private BluetoothAdapter blutooth;
    //打开标志
    private  static int CODE_OPEN=100;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        InitView();
        InitBlutooth();
        Listener();

    }

    //初始化视图
    public void InitView() {
        txt_name = findViewById(R.id.bt_name);
        txt_other = findViewById(R.id.bt_con);
        btn_close = findViewById(R.id.btn_close);
        btn_open = findViewById(R.id.btn_open);
    }

    //事件监听
    public void Listener() {
        btn_open.setOnClickListener(oncliklistener);
        btn_close.setOnClickListener(oncliklistener);

    }

    //初始化蓝牙
    public void InitBlutooth() {
       blutooth=BluetoothAdapter.getDefaultAdapter();

    }

    //事件处理
    View.OnClickListener oncliklistener = new View.OnClickListener() {
        @Override
        public void onClick(View v) {
              //是否支持蓝牙 
            if (blutooth != null) {
                txt_name.setText(blutooth.getName());
                txt_other.setText(blutooth.getAddress());
                switch (v.getId()) {
                    case R.id.btn_close:
                        blutooth.disable();
                        break;
                    case R.id.btn_open:
                           OpenBt();
                        break;
                }
            }
        }
    };

    //打开蓝牙
    public  void  OpenBt()
    {
       Intent openbt=new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
       startActivityForResult(openbt,CODE_OPEN);
    }
    //关闭蓝牙
    public void  CloseBt()
    {

    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if(CODE_OPEN==requestCode)
        {
            Toast.makeText(getApplicationContext(),"蓝牙已经打开",Toast.LENGTH_SHORT);
        }
    }
}

 

 

转载于:https://my.oschina.net/u/3768017/blog/1788831

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值