Android Bluetopth 编程大牛文章

http://my.oschina.net/u/994235/blog?catalog=313604

ViewGroup 相关资料 :

http://www.incoding.org/admin/archives/199.html

http://bbs.csdn.net/topics/370144745

http://www.linuxidc.com/Linux/2013-01/78109.htm

http://blog.csdn.net/arui319/article/details/5868466

http://www.2cto.com/kf/201109/104633.html

http://www.cnblogs.com/slider/archive/2011/11/24/2262161.html

蓝牙开发指南 :

http://wenku.baidu.com/view/b41c1b09bb68a98271fefae1.html

蓝牙编程 :

http://wenku.baidu.com/link?url=QT1NMnkqNk3Emm_CueUyqtawXyQ2-CNIu5Es6xgtbj2KLUe5Cu5mXo2xDbvnBRLuvH044uiF2Vhcwjz4o8uCdkYYiUV3R71Id4GIdEQsPLe

http://blog.csdn.net/qinjuning/article/details/7726093  BluetoothAdapter类简介

http://www.cnblogs.com/over140/archive/2010/12/21/1912460.html

Android 中文API (69) —— BluetoothAdapter[蓝牙]

http://www.wuphone.com/579.html BluetoothAdapter蓝牙

http://www.cnblogs.com/over140/archive/2010/12/21/1912482.html

BluetoothDevice[蓝牙]

http://blog.csdn.net/forlong401/article/details/8536209

android蓝牙开发——基本概念

http://blog.csdn.net/hellogv/article/details/6042091 十三篇之探秘蓝牙隐藏API

http://www.cnblogs.com/wanqieddy/archive/2013/05/24/3096312.html 隐藏api介绍

http://www.eoeandroid.com/thread-18993-1-1.html?_dsign=d70c243d Android蓝牙开发浅谈

http://blog.csdn.net/myarrow/article/details/8143717 安卓设备待机广播

http://www.cnblogs.com/fbsk/archive/2011/10/10/2205316.html

Android开机自启动程序

http://wenku.baidu.com/view/6baf53eaaeaad1f346933f85.html

http://android.toolib.net/reference/android/bluetooth/BluetoothServerSocket.html

BlueToothServerSocket API解析

http://jinguo.iteye.com/blog/687357

http://android.toolib.net/reference/android/bluetooth/BluetoothSocket.html

BlueToothSocket API解析

http://blog.csdn.net/xiluoduyu/article/details/8515286

http://www.linuxidc.com/Linux/2012-09/69586.htm

蓝牙模块开发

使用代码打开蓝牙

Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
System.out.println(" 打开蓝牙 ");
startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT);

http://my.oschina.net/billowworld/blog/62975

如何实现android蓝牙开发 自动配对连接,并不弹出提示框

http://www.eoeandroid.com/thread-249231-1-1.html 蓝牙取消配对方法
http://blog.csdn.net/zzy916853616/article/details/6597746  android开发之蓝牙初步 扫描已配对蓝牙、更改蓝牙可见性、搜索外部蓝牙设备

Android中通过静态注册的屏幕开启和屏幕关闭的BroadCastReceiver为什么捕捉不到广播?

  • kandee

    -1 票

  • 1

android开发中使用AndroidManiFest.xml静态注册的BroadCastReceiver没有作用是什么原因?

使用静态注册,Debug运行,就是没进到onReceive()方法那里去。我用真机调试的。

但是使用动态注册,又可以捕捉到。我想问,这个系统广播可不可以静态注册?如果可以为什么会捕捉不到呢?

在Android 的广播机制中,动态注册的优先级是要高于静态注册优先级的,你是否在调试时2个都注册了,所以出现你的这种情况;当用来注册动态广播接收器的activity被关闭时,这个动态接收器也就是就失效了,静态注册的广播接收器只要有你注册的广播出现就能接收到广播。

对于这两个action:

android.intent.action.SCREEN_OFF
android.intent.action.SCREEN_ON

在AndroidManifest.xml中注册是不可以的。

这有点不同于其他的action,你只有在Service中通过动态注册去监听这个事件。

这个问题我的理解是google故意这么做的,有两点考虑:
1.提高监听screen_on screen_off门槛
这两个事件是android的基本事件,如果呗大多数程序监听,会大大的拖慢整个系统,所以android也应该不鼓励我们在后台监听这两个事件。

2.有让我们在service后台监听
这也是提供了一个解决问题,强调和service共存亡,不会一直在后台无限情运行。

总之应该是为了保证系统的稳定和安全才采取这样的措施。
希望对你有帮助。

蓝牙配对密码设置

先是写个
<receiver android:name=".broadcast.PairingRequest">
                  <intent-filter>
                    <action android:name="android.bluetooth.device.action.PAIRING_REQUEST" /> 
                    <action android:name="android.bluetooth.device.action.PAIRING_CANCEL" /> 
                  </intent-filter>
                </receiver>

然后是你的
public class PairingRequest extends BroadcastReceiver{
  @Override
  public void onReceive(Context context, Intent intent){
    if (intent.getAction().equals("ACTION_PAIRING_REQUEST")) {
            BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
            byte[] pinBytes = BluetoothDevice.convertPinToBytes("1234");
            device.setPin(pinBytes);
    }
  }
}

其中的蓝牙BluetoothDevice这个类要用源码里的替换下

蓝牙设备是怎么连接的

最前提的条件是有蓝牙的MAC地址; String macAddress;

根据蓝牙的MAC地址 , 可以获得蓝牙设备BluetoothDevice对象 , BluetoothDevice device = bluetoothAdapter.getRemoteDevice(macAddress);

将蓝牙设备对象传入服务中的connect方法中;

将设备连接放在线程中完成 , 创建一个设备连接的线程 , 启动这个线程.

BluetoothAdapter资料 :

关于权限资料

 android.permission.BLUETOOTH 允许程序连接到已配对的蓝牙设备(Allows applications to connect to paired bluetooth devices)
  android.permission.BLUETOOTH_ADMIN 允许程序发现和配对蓝牙设备(Allows applications to discover and pair bluetooth devices)

android蓝牙开发——权限

为了在应用程序中使用蓝牙功能,我们至少需要声明两方面的权限:BLUETOOTH和BLUETOOTH_ADMIN。

你必须请求BLUETOOTH权限才能够实现蓝牙通信,例如请求一个连接、接受一个连接和传输数据。

你必须请求BLUETOOTH_ADMIN权限,才能够初始化device discovery或者管理蓝牙设置(Bluetooth settings)。大多数应用程序必须具有这个权限才能够发现本地蓝牙设备,这个权限保护的其他能力(除了发现本地设备)不应该被使用,除非你的应用程序是在用户请求的时候能够修改蓝牙设置的管理者。

注意:如果你想要使用BLUETOOTH_ADMIN权限,那么你首先必须有BLUETOOTH权限。

你需要在应用程序的manifest文件中声明程序的蓝牙权限。例如:

[xhtml] view plaincopy
  1. <manifest ... >
  2. <uses-permission android:name="android.permission.BLUETOOTH" />
  3. ...
  4. </manifest>

关于声明应用程序权限的信息,请看<uses-permission>参考。

【Android 应用开发】Android之Bluetooth编程相关推荐

  1. android ble 设备扫描程序,Android应用开发Android 7.0 BLE scan 问题:程序无错但扫描不到BLE设备...

    本文将带你了解Android应用开发Android 7.0  BLE scan 问题:程序无错但扫描不到BLE设备,希望本文对大家学Android有所帮助. < 最近在做毕设,需要几周内从头学起 ...

  2. android studio socket 失败,Android应用开发Android Studio建立Socket连接失败解决方法

    本文将带你了解Android应用开发Android Studio建立Socket连接失败解决方法,希望本文对大家学Android有所帮助. < Android Studio建立Socket连接失 ...

  3. android落下动画,Android应用开发android 购物车小球掉落动画

    本文将带你了解Android应用开发android 购物车小球掉落动画,希望本文对大家学Android有所帮助. 先贴效果图 对自定义View小红球的绘制 public class BallView ...

  4. android baseactivity,Android应用开发Android通过BaseActivity获取到当前启动的Activity名称...

    本文将带你了解Android应用开发Android通过BaseActivity获取到当前启动的Activity名称,希望本文对大家学Android有所帮助. < 在BaseActivity的on ...

  5. android view 点击变暗,Android应用开发Android ImageView点击变暗效果

    本文将带你了解Android应用开发Android ImageView点击变暗效果,希望本文对大家学Android有所帮助. < 自定义ImageView: 在ImageView中setPres ...

  6. android 防止重复启动app,Android应用开发Android 防止启动页面(SplashActivity)被多次启动...

    本文将带你了解Android应用开发Android 防止启动页面(SplashActivity)被多次启动,希望本文对大家学Android有所帮助. 话不多说直接上代码: @Override prot ...

  7. android studio获取数字签名,Android应用开发Android Studio数字签名打包apk图文步骤教程...

    本文将带你了解Android应用开发Android Studio数字签名打包apk图文步骤教程,希望本文对大家学Android有所帮助. Android Studio数字签名打包release版apk ...

  8. android修改用户名和密码错误,Android应用开发Android Studio 修改用户名、密码、URL等操作教程...

    本文将带你了解Android应用开发Android Studio 修改用户名.密码.URL等操作教程,希望本文对大家学Android有所帮助. 修改用户名.密码: 在AndroidStudio的ter ...

  9. android程序突然崩溃如何调试,Android应用开发android 调试崩溃Unable to instantiate application的解决方法...

    本文将带你了解Android应用开发android 调试崩溃Unable to instantiate application的解决方法,希望本文对大家学Android有所帮助. 更新后Android ...

  10. android程序包不存在,Android应用开发Android studio 错误: 程序包 不存在

    本文将带你了解Android应用开发Android studio 错误: 程序包 不存在,希望本文对大家学Android有所帮助. " Android studio 错误: 程序包 不存在 ...

最新文章

  1. UML 中关系详解以及在visio中的表示
  2. Effective java笔记3--类和接口1
  3. 这是一段关乎你的代码:你的未来 我们正在参与
  4. 毋庸置疑,容器带来改变!
  5. 使用java6做webservice 的客户端
  6. yum的更多用法和源码编译安装apache
  7. 亚马逊Alexa Connect Kit(ACK)
  8. 使用百度识图 完成图片识别和文字识别
  9. PAT|1147 Heaps(最大堆、最小堆、二叉树的遍历)
  10. CDN 技术研究——Cache集群通信
  11. 处理0x0000007E和0x0000000A蓝屏
  12. 锁存器和缓冲器的区别
  13. 第十六章 SQL命令 CREATE TABLE(三)
  14. MYSQL优化汇总——学习入口
  15. jquery 国际短信区号 鼠标移上实现下拉选择
  16. 【bat】获取软件安装目录
  17. 登录+注册界面的实现(代码)
  18. 最全介绍的代理模式---第一节-静态代理
  19. mysql 执行计划 order_MySQL · 捉虫动态 · 5.6中ORDER BY + LIMIT 错选执行计划
  20. Windows怎么让防火墙开放端口

热门文章

  1. 用MS SQL 语句修改表中字段类型
  2. django之视图系统 views.py--主要内容(FBV和CBV、dispath、request对象和request.FILES、JsonResponse)...
  3. poj2456 Aggressive cows(二分查找)
  4. C++ 函数--幽径初探索
  5. 用openoffice+jodconverter+webuploader+pdf.js实现文件上传、在线预览功能
  6. python之tkinter图形界面
  7. csu 1756(数论+去重)
  8. linux 中php以及nginx的重启命令
  9. NO。58 新浪微博顶部新评论提示层效果——position:fixed
  10. ps - 按进程消耗内存多少排序