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平台上,蓝牙通信是一个重要的功能,用于设备之间的数据交换,比如传输文件、连接蓝牙耳机或控制器等。本文将深入探讨如何使用Android的蓝牙API来实现蓝牙通信,并着重讲解文件传输的过程。 首先,我们...
Android Bluetooth文件的引入和传输,可使用两台设备,一个做客户端一个做服务端,传输文件,显示传送进度。 http://download.csdn.net/download/u010963246/8907157
"android bluetooth demo 蓝牙样例"是一个专为开发者设计的示例项目,它可以帮助初学者理解如何在Android应用中实现蓝牙功能。这个示例程序包含了完整的代码注释和解释,使得学习过程更加清晰易懂。 在Android中,...
Java层的`android.bluetooth`包提供了丰富的类和接口,供开发者构建蓝牙应用程序,如`BluetoothAdapter`用于管理蓝牙状态,`BluetoothDevice`代表蓝牙设备,`BluetoothGatt`用于处理GATT(通用属性配置文件)服务。...
Android Bluetooth蓝牙技术是移动开发中常见的一种无线通信方式,它允许设备之间进行短距离的数据交换。在Android平台上,蓝牙功能的使用涉及多个步骤,这里我们将深入探讨这些流程。 首先,要启用蓝牙功能,开发者...
Android Bluetooth蓝牙技术初体验主要涉及了Android平台上的蓝牙通信API,包括如何使用蓝牙适配器、蓝牙设备、蓝牙套接字以及蓝牙服务器套接字进行设备间的交互。下面将详细介绍这些关键类及其常用方法。 首先,`...
在Android系统中,蓝牙(Bluetooth)是一种无线通信技术,用于设备间的短距离数据交换和音频流传输。本文将深入探讨Android蓝牙的工作原理,包括其基本概念、架构、配对过程以及API的使用。 首先,我们要了解蓝牙的...
Android系统支持Bluetooth API,允许开发者创建能够发现、配对和交换数据的蓝牙应用。主要涉及到的类有BluetoothAdapter、BluetoothDevice、BluetoothServerSocket、BluetoothSocket等。BluetoothAdapter是系统的...
本文将深入探讨如何使用Android的Bluetooth API来实现蓝牙搜索、配对、连接以及传输数据。 首先,我们要了解Android Bluetooth API的基础概念。在Android系统中,BluetoothManager类是蓝牙功能的主要入口,它提供了...
在Android平台上进行蓝牙开发,主要是利用Android提供的Bluetooth API来实现设备间的无线通信。这个过程涉及到多个关键步骤,包括蓝牙的开启、搜索、配对、连接以及数据传输等。以下是关于"基于Android的BlueTooth...
本示例"android studio 蓝牙开发demo"专注于使用Android Studio进行蓝牙低功耗(Bluetooth Low Energy,BLE)开发,这是一种广泛应用于物联网(IoT)设备的技术。通过BlueToothBLE-master这个项目,我们可以深入学习...
本文将深入探讨如何使用Android的Bluetooth API来实现蓝牙搜索、配对、连接以及传输数据。 首先,我们要了解Android Bluetooth API的基础概念。在Android系统中,BluetoothAdapter是蓝牙的主要接口,它提供了开启、...
在Android平台上,蓝牙技术是一种广泛使用的短距离无线通信方式,特别是在设备间的数据交换和物联网(IoT)应用中。本文将深入探讨Android蓝牙的使用,包括基础概念、API介绍、蓝牙连接过程以及如何实现蓝牙虚拟串口...
10. **权限要求**: Android应用需要在`AndroidManifest.xml`中声明`BLUETOOTH`和`BLUETOOTH_ADMIN`权限才能访问蓝牙功能。 通过这个Demo,开发者可以学习如何在Android平台上建立BLE设备的连接,读写数据,以及处理...
本项目案例聚焦于Android蓝牙的实现,通过分析和理解这个“bluetooth.rar”压缩包中的内容,我们可以深入学习如何在Android应用中集成蓝牙功能。 首先,蓝牙在Android系统中的API是通过`BluetoothAdapter`类提供的...
Android支持两种类型的蓝牙:经典蓝牙(Bluetooth Classic)和低功耗蓝牙(Bluetooth Low Energy, BLE)。经典蓝牙主要用于传输大量数据,如音频流或文件共享;而BLE则适用于需要长时间运行且数据传输量较小的设备,如...
在这个“android studio 蓝牙 socket 范例”中,我们将探讨如何利用Java编程语言在Android设备上实现蓝牙通信,并通过Socket进行数据传输。以下是关于这个主题的详细知识点: 1. **Android Bluetooth API**: ...
【C#与Android之间的蓝牙通信】是移动设备间交互的重要技术之一,特别是在物联网(IoT)和嵌入式系统中广泛应用。本示例是通过C#编写的应用程序与Android设备进行蓝牙连接,实现数据传输,如图片、语音和文字等。这种...