`

android BlueTooth蓝牙

阅读更多
MainActivity.java
package com.blueTooth;

import java.util.ArrayList;
import java.util.List;

import android.app.Activity;
import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothDevice;
import android.bluetooth.BluetoothSocket;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.Bundle;
import android.view.Menu;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.TextView;
import android.widget.Toast;

import com.blueTooth.R.id;

public class MainActivity extends Activity {

	List<BluetoothDevice> devices=new ArrayList<BluetoothDevice>();
	BluetoothDevice device;
	BluetoothAdapter adapter;
	private CheckBox checkBox;
	private TextView textView;
	
	
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        checkBox=(CheckBox) findViewById(R.id.checkBox1);
        textView=(TextView) findViewById(id.textView1);
        
        adapter=BluetoothAdapter.getDefaultAdapter();
        
        if(adapter==null){
        	checkBox.setEnabled(false);
        	checkBox.setChecked(false);
        	
        	textView.setText("本地无蓝牙设备");
        }else{
        	checkBox.setOnCheckedChangeListener(new OnCheckedChangeListener() {				
				@Override
				public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
					// TODO Auto-generated method stub
					if(isChecked==false){
						adapter.disable();
						textView.setText("未打开蓝牙");
					}else{
						adapter.enable();
						IntentFilter findintent=new IntentFilter(BluetoothDevice.ACTION_FOUND);
						registerReceiver(finreciver,findintent);
						adapter.startDiscovery();
						if(devices.size()>0){
							textView.setText("列表有数据");
						}else{
							textView.setText("未发现远程蓝牙设备(列表为空)");
						}
					}
				}
			});
        }
        
    }
    
    private BroadcastReceiver finreciver=new BroadcastReceiver() {		
		@Override
		public void onReceive(Context context, Intent intent) {
			// TODO Auto-generated method stub
			String action=intent.getAction();
			if(action.equals(BluetoothDevice.ACTION_FOUND)){
				BluetoothDevice device=intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
				devices.add(device);
			}else if(action.equals(BluetoothAdapter.ACTION_DISCOVERY_FINISHED)){
				Toast.makeText(MainActivity.this, "搜索完成",Toast.LENGTH_SHORT).show();
				System.out.println("搜索完成");
			}
		}
	};
}

activity_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <CheckBox
        android:id="@+id/checkBox1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="47dp"
        android:text="CheckBox" />

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/checkBox1"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="110dp"
        android:text="TextView" />

</RelativeLayout>

AndroidManifest.xml
    <uses-permission android:name="android.permission.BLUETOOTH"/>
    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
分享到:
评论

相关推荐

    android bluetooth蓝牙实现

    在Android平台上,蓝牙通信是一个重要的功能,用于设备之间的数据交换,比如传输文件、连接蓝牙耳机或控制器等。本文将深入探讨如何使用Android的蓝牙API来实现蓝牙通信,并着重讲解文件传输的过程。 首先,我们...

    Android Bluetooth蓝牙通信文件传输

    Android Bluetooth文件的引入和传输,可使用两台设备,一个做客户端一个做服务端,传输文件,显示传送进度。 http://download.csdn.net/download/u010963246/8907157

    android bluetooth demo 蓝牙样例

    "android bluetooth demo 蓝牙样例"是一个专为开发者设计的示例项目,它可以帮助初学者理解如何在Android应用中实现蓝牙功能。这个示例程序包含了完整的代码注释和解释,使得学习过程更加清晰易懂。 在Android中,...

    android bluetooth框架知识整理

    Java层的`android.bluetooth`包提供了丰富的类和接口,供开发者构建蓝牙应用程序,如`BluetoothAdapter`用于管理蓝牙状态,`BluetoothDevice`代表蓝牙设备,`BluetoothGatt`用于处理GATT(通用属性配置文件)服务。...

    Android Bluetooth蓝牙技术使用流程详解

    Android Bluetooth蓝牙技术是移动开发中常见的一种无线通信方式,它允许设备之间进行短距离的数据交换。在Android平台上,蓝牙功能的使用涉及多个步骤,这里我们将深入探讨这些流程。 首先,要启用蓝牙功能,开发者...

    Android Bluetooth蓝牙技术初体验

    Android Bluetooth蓝牙技术初体验主要涉及了Android平台上的蓝牙通信API,包括如何使用蓝牙适配器、蓝牙设备、蓝牙套接字以及蓝牙服务器套接字进行设备间的交互。下面将详细介绍这些关键类及其常用方法。 首先,`...

    android bluetooth 介绍android 蓝牙工作原理

    在Android系统中,蓝牙(Bluetooth)是一种无线通信技术,用于设备间的短距离数据交换和音频流传输。本文将深入探讨Android蓝牙的工作原理,包括其基本概念、架构、配对过程以及API的使用。 首先,我们要了解蓝牙的...

    bluetooth.rar_android 蓝牙_android bluetooth_android蓝牙_蓝牙_蓝牙通信

    Android系统支持Bluetooth API,允许开发者创建能够发现、配对和交换数据的蓝牙应用。主要涉及到的类有BluetoothAdapter、BluetoothDevice、BluetoothServerSocket、BluetoothSocket等。BluetoothAdapter是系统的...

    android BlueToothDemo (蓝牙搜索,配对,连接,传输)详细讲解见博客

    本文将深入探讨如何使用Android的Bluetooth API来实现蓝牙搜索、配对、连接以及传输数据。 首先,我们要了解Android Bluetooth API的基础概念。在Android系统中,BluetoothManager类是蓝牙功能的主要入口,它提供了...

    基于Android的BlueTooth开发手机蓝牙和蓝牙模块通讯

    在Android平台上进行蓝牙开发,主要是利用Android提供的Bluetooth API来实现设备间的无线通信。这个过程涉及到多个关键步骤,包括蓝牙的开启、搜索、配对、连接以及数据传输等。以下是关于"基于Android的BlueTooth...

    android studio 蓝牙开发demo

    本示例"android studio 蓝牙开发demo"专注于使用Android Studio进行蓝牙低功耗(Bluetooth Low Energy,BLE)开发,这是一种广泛应用于物联网(IoT)设备的技术。通过BlueToothBLE-master这个项目,我们可以深入学习...

    android BlueToothDemo (蓝牙搜索,配对,连接,传输)

    本文将深入探讨如何使用Android的Bluetooth API来实现蓝牙搜索、配对、连接以及传输数据。 首先,我们要了解Android Bluetooth API的基础概念。在Android系统中,BluetoothAdapter是蓝牙的主要接口,它提供了开启、...

    Android-bluetooth.rar_android_android bluetooth_android 蓝牙_blu

    在Android平台上,蓝牙技术是一种广泛使用的短距离无线通信方式,特别是在设备间的数据交换和物联网(IoT)应用中。本文将深入探讨Android蓝牙的使用,包括基础概念、API介绍、蓝牙连接过程以及如何实现蓝牙虚拟串口...

    Android BlueTooth BLE 蓝牙4.0 Demo

    10. **权限要求**: Android应用需要在`AndroidManifest.xml`中声明`BLUETOOTH`和`BLUETOOTH_ADMIN`权限才能访问蓝牙功能。 通过这个Demo,开发者可以学习如何在Android平台上建立BLE设备的连接,读写数据,以及处理...

    bluetooth.rar_android_android 蓝牙_android bluetooth_bluetooth_bl

    本项目案例聚焦于Android蓝牙的实现,通过分析和理解这个“bluetooth.rar”压缩包中的内容,我们可以深入学习如何在Android应用中集成蓝牙功能。 首先,蓝牙在Android系统中的API是通过`BluetoothAdapter`类提供的...

    Android bluetooth开发实践

    Android支持两种类型的蓝牙:经典蓝牙(Bluetooth Classic)和低功耗蓝牙(Bluetooth Low Energy, BLE)。经典蓝牙主要用于传输大量数据,如音频流或文件共享;而BLE则适用于需要长时间运行且数据传输量较小的设备,如...

    android studio 蓝牙 socket 范例

    在这个“android studio 蓝牙 socket 范例”中,我们将探讨如何利用Java编程语言在Android设备上实现蓝牙通信,并通过Socket进行数据传输。以下是关于这个主题的详细知识点: 1. **Android Bluetooth API**: ...

    C#Android蓝牙通信

    【C#与Android之间的蓝牙通信】是移动设备间交互的重要技术之一,特别是在物联网(IoT)和嵌入式系统中广泛应用。本示例是通过C#编写的应用程序与Android设备进行蓝牙连接,实现数据传输,如图片、语音和文字等。这种...

Global site tag (gtag.js) - Google Analytics