蓝牙实战(一)
来源:互联网 发布:淘宝买身份证 编辑:程序博客网 时间:2024/04/30 08:36
一.概述
在前面的三篇文章讲解蓝牙开发,写的比较详细,篇幅比较长,后面这几篇来点简单实用的,先看效果图
二.代码
代码如下:
BlueToothController 控制蓝牙操作
public class BlueToothController { private BluetoothAdapter mAdapter; public BlueToothController() { mAdapter = BluetoothAdapter.getDefaultAdapter(); } /** * 是否支持蓝牙 * @return true 支持 false 不支持 */ public boolean isSupportBlueTooth() { if( mAdapter != null ){ return true; } else { return false; } } /** * 获取蓝牙状态 * @return */ public boolean getBlueToothStatus() { assert (mAdapter != null); return mAdapter.isEnabled(); } /** * 打开蓝牙 * @param activity * @param requestCode */ public void turnOnBlueTooth(Activity activity, int requestCode) { Intent intent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE); activity.startActivityForResult(intent, requestCode);// mAdapter.enable(); } /** * 关闭蓝牙 */ public void turnOffBlueTooth() { mAdapter.disable(); }}
public class MainActivity extends ActionBarActivity { public static final int REQUEST_CODE = 0; private BlueToothController mController = new BlueToothController(); private Toast mToast; /** * 监听蓝牙开关的广播 */ private BroadcastReceiver receiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { int state = intent.getIntExtra(BluetoothAdapter.EXTRA_STATE,-1); switch (state) { case BluetoothAdapter.STATE_OFF: showToast("STATE_OFF"); break; case BluetoothAdapter.STATE_ON: showToast("STATE_ON"); break; case BluetoothAdapter.STATE_TURNING_ON: showToast("STATE_TURNING_ON"); break; case BluetoothAdapter.STATE_TURNING_OFF: showToast("STATE_TURNING_OFF"); break; default: showToast("Unkown STATE"); break; } } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); IntentFilter filter = new IntentFilter(BluetoothAdapter.ACTION_STATE_CHANGED); registerReceiver(receiver, filter); } @Override protected void onDestroy() { unregisterReceiver(receiver); super.onDestroy(); } public void isSupportBlueTooth(View view) { boolean ret = mController.isSupportBlueTooth(); showToast("support Bluetooth? " + ret); } public void isBlueToothEnable(View view) { boolean ret = mController.getBlueToothStatus(); showToast("Bluetooth enable?" + ret); } public void requestTurnOnBlueTooth(View view) { mController.turnOnBlueTooth(this, REQUEST_CODE); } public void turnOffBlueTooth(View view) { mController.turnOffBlueTooth(); } private void showToast(String text) { if( mToast == null) { mToast = Toast.makeText(this, text, Toast.LENGTH_SHORT); } else { mToast.setText(text); } mToast.show(); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); //当发起请求蓝牙打开事件时,会告诉你用户选择的结果 if( resultCode == RESULT_OK) { showToast("打开成功"); } else { showToast("打开失败"); } }}
0 0
- 蓝牙实战(一)
- 蓝牙实战总结一,就是干货(会持续更新)
- J2ME蓝牙实战入门
- J2ME蓝牙实战入门
- J2ME蓝牙实战入门
- 蓝牙实战(二)
- 蓝牙实战(三)
- 小米手环iOS开发实战(一):iOS蓝牙框架CoreBluetooth
- Android串口蓝牙开发实战
- android蓝牙操作一
- 蓝牙通信(一)
- 蓝牙学习(一)
- 蓝牙 BCSP 剖析(一)
- Android蓝牙初级一
- 蓝牙OBEX剖析(一)
- 蓝牙,WiFi(一)
- 蓝牙通信(一)
- 蓝牙开发笔录《一》
- 10031---ajax请求地址后加随机数防止浏览器缓存
- Node.js模块和包
- js中继承的封装
- github更新自己Fork的代码
- ArrayAdapter创建ListView
- 蓝牙实战(一)
- python+ffmpeg批量去视频开头
- 页面内元素跟随鼠标移动和右键菜单组件功能
- android之popupwindow点击空白消失
- 单一入口机制
- jQuery中自定义事件
- userdebug的版本 adb root
- 链表的回文结构
- js中回调函数