初識Android 藍牙

1 BluetoothAdapter 用法android

藍牙運行原理:經過BluetoothAdapter 藍牙適配器處理任務,若是藍牙被啓動以後,系統會自動去搜索其它設備,若是匹配到附近的設備就發送一個廣播,BroadcastRecevier的onReceive被調用一次,咱們只須要在onReceive中處理本身的操做便可。服務器

藍牙是一種支持設備短距離傳輸數據的無線技術。android在2.0之後提供了這方面的支持。 從查找藍牙設備到可以相互通訊要通過幾個基本步驟(本機作爲服務器):app

1.在manifest中配置藍牙操做的相關權限ide

  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"/>  get

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);
        }
    }
}
相關文章
相關標籤/搜索