zoukankan      html  css  js  c++  java
  • Android 获取本地蓝牙设备

    本文介绍Android中蓝牙的基本操作

    1. 检测本地是否有蓝牙设备
    2. 获取远程蓝牙设备的地址

    MainActivity中一个Button,单击Button打开蓝牙设备

    package com.zhoucj.bluetooh;
    
    import java.util.Iterator;
    import java.util.Set;
    
    import android.app.Activity;
    import android.bluetooth.BluetoothAdapter;
    import android.bluetooth.BluetoothDevice;
    import android.content.Intent;
    import android.os.Bundle;
    import android.util.Log;
    import android.view.Menu;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    
    public class MainActivity extends Activity {
    
        private Button blueBtn;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            blueBtn=(Button)findViewById(R.id.open_bluetooh);
            blueBtn.setOnClickListener(listener);
            
        }
    
        
        private OnClickListener listener=new OnClickListener() {
            @Override
            public void onClick(View arg0) {
                //得到本地蓝牙设备
                BluetoothAdapter adapter=BluetoothAdapter.getDefaultAdapter();
                //判断BluetoothAdapter是否为空,如果为空,则表明本机没有蓝牙设备
                if(adapter!=null)
                {
                    Log.i("msg", "本机应有蓝牙设备");
                    //调用isEnable方法,判断蓝牙是否可用
                    if(!adapter.isEnabled())
                    {
                        //创建一个Intent对象,启动Activity,提示用户开启蓝牙设备
                        Intent intent=new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
                        startActivity(intent);
                    }
                    //得到所有已经配对的蓝牙适配器
                Set<BluetoothDevice> devices= adapter.getBondedDevices();
                if(devices.size()>0)
                {
                    for (Iterator iterator = devices.iterator(); iterator.hasNext();) {
                        BluetoothDevice bluetoothDevice = (BluetoothDevice) iterator
                                .next();
                        BluetoothDevice blueDevice=(BluetoothDevice)iterator.next();
                        //得到远程蓝牙的名称 和 地址
                        Log.i("msg", blueDevice.getName()+"---"+blueDevice.getAddress());
                        
                    }
                }
                
                    
                }else
                {
                    Log.i("msg", "没有蓝牙设备");
                }
                
            }
            
        };
        
        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            // Inflate the menu; this adds items to the action bar if it is present.
            getMenuInflater().inflate(R.menu.main, menu);
            return true;
        }
    
    }

     最后记得加上

     <uses-permission  android:name="android.permission.BLUETOOTH" />
  • 相关阅读:
    IDE有毒
    Netbeans 8.2关于PHP的新特性
    什么是人格
    谁该赋予一款产品灵魂?
    自从升级到macOS后,整个人都不好了
    公司不是大家庭
    性能各个指标分析
    Sqlserver2012 alwayson部署攻略
    初探Backbone
    SQL Server AlwaysOn架构及原理
  • 原文地址:https://www.cnblogs.com/zhoujian315/p/3393263.html
Copyright © 2011-2022 走看看