最近项目中需要用到 用android 手机控制空调,于是小编就下了心思研究了一下红外开发,去网上查了查,这方面的内容少之又少,所以决定自己搞一搞,好了废话不多说,开搞!

1、要求:调用手机红外设备需要注意,你得看看手机上有没有红外发射器(本人的是荣耀V8,自带红外设备)据小编自己了解 应该是4.4版本 之后的android手机才有机会有红外发射设备因为细心的小编发现 当调用里面方法时 需要加SDK版本判断

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT)
或者
@RequiresApi(api = Build.VERSION_CODES.KITKAT)

这两个意思是都需要API 为19的手机 小编自行理解不喜勿喷;

2、好说完以上要求,来具体说说怎么调用这个红外发射设备,或者说是驱动;
首先先加一个权限和一个过滤器

<uses-permission android:name="android.permission.TRANSMIT_IR" />
这个权限呢就是调用红外设备就不多说<uses-feature android:name="android.hardware.ConsumerIrManager" />这个过滤器的作用主要是给应用市场提个醒 Android Market会根据uses-feature过滤所有你设备不支持的应用  再通俗点说就是没有ConsumerIrManager这个类的android设备 在应用市场上看不到此应用。(因为版本太低 下载下来也没用)

3、红外控制类 ConsumerIrManager
具体怎么调用看代码(注释写的很清楚了)

//需要api大于19与下面if判断用途类似
@RequiresApi(api = Build.VERSION_CODES.KITKAT)public class InfraredActivity extends BaseActivity {//获取红外控制类private ConsumerIrManager IR;//判断是否有红外功能boolean IRBack;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_infrared);inItEvent();}//初始化事务private void inItEvent() {//获取ConsumerIrManager实例IR = (ConsumerIrManager) getSystemService(CONSUMER_IR_SERVICE);//如果sdk版本大于4.4才进行是否有红外的功能(手机的android版本)if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {IRBack = IR.hasIrEmitter();if (!IRBack) {showToast("对不起,该设备上没有红外功能!");} else {showToast("红外设备就绪");//可进行下一步操作}}}/*** 发射红外信号** @param carrierFrequency 红外传输的频率,一般的遥控板都是38KHz* @param pattern          指以微秒为单位的红外开和关的交替时间*/private void sendMsg(int carrierFrequency, int[] pattern) {IR.transmit(carrierFrequency, pattern);}
}

4、以上就是红外的第一步(基础中的基础、重中之重)怎么实例化ConsumerIrManager ,以及要使用的方法。

想详细了解 看小编下一篇

android 空调遥控器——简单发送内容

android 空调遥控器——红外设备(基础)相关推荐

  1. android 空调遥控器——遥控器基本版(功能全部实现)

    小编接着上一篇博客接着说咱们的空调遥控器,上一篇讲了基本的发送一个指令,这次小编给大家带来了,android基于红外的空调遥控器的完整版,基本实现了对格力空调的完全控制,(源代码已经,在我的资源处给出 ...

  2. Android与物联网设备通信 - 字节报文组装与解析

    工作调动.暂时停更了一段时间.续上一篇我们学习了如何去自定义一组报文,今天我们接着解析和组装报文. 前面我们讲过在物联网通信中实际上不论我们使用什么方式作为通信介质,其本质就是字节.所以我再一次对本章 ...

  3. android 空调遥控器——简单发送内容

    接着上一篇我们接着研究android红外开发,本篇我们以网上最开源的格力空调编码开始研究,好了废话不多说,开搞!! 1.首先我们先来了解一下格力空调的编码格式 这个网上都有 格力空调遥控器(YB0F2 ...

  4. 基于Android的红外测温设计,基于Android的红外三维重构移动APP设计与实现

    摘要: 物体的冷热程度主要依据温度来衡量,在科学进步的过程中也研制出很多测量物体温度的设备,非制冷型红外热成像仪就是应用最为广泛的一种.非制冷型红外热像仪是一种快速测量,非接触式的测温方法,而且成本非 ...

  5. 快速接入 Android BLE 开发的基础框架

    代码地址如下: http://www.demodashi.com/demo/12092.html * Android BLE基础操作框架,基于回调,操作简单.包含扫描.多连接.广播包解析.服务读写及通 ...

  6. Android近场通信---NFC基础(一)

    Android近场通信---NFC基础(一) 本文介绍在Android系通过你所能执行的基本任务。它解释了如何用NDEF消息格式来发送和接收NFC数据,并且介绍了支持这些功能的Android框架API ...

  7. 深入了解Android蓝牙Bluetooth——《基础篇》

    深入了解Android蓝牙Bluetooth--<基础篇> 什么是蓝牙?   也可以说是蓝牙技术.所谓蓝牙(Bluetooth)技术,实际上是一种短距离无线电技术,是由爱立信公司公司发明的 ...

  8. Android camera(4)---Android Camera开发之基础知识篇

    Android Camera开发之基础知识篇 转自:https://blog.csdn.net/feiduclear_up/article/details/51968975#jump5 概述 Andr ...

  9. Android与物联网设备通信-自定义报文与字节序

    前几节我们把网络通信中的基础都过了一遍,今天真正开始秀操作了.本节主要讲解如何在应用层上去定义报文的结构体.良好的报文设计会让今后的业务扩展变得轻松.顺带会讲解一下字节序. 可以发现最近的章节都把两个 ...

最新文章

  1. Tensorflow— word2vec
  2. post xmlrpc.php,宝塔面板WordPress /xmlrpc.php经常被post恶意数据
  3. lisp 批量文字求差值_Python 超简单 提取音乐高潮(附批量提取)
  4. J2EE进阶(十五)MyEclipse反向工程实现从数据库反向生成实体类之Hibernate方式[申明:来源于网络]...
  5. Julia : 再谈HDF5 的save 和 load
  6. SQL在执行JOIN ON时,到底发生了什么?
  7. 废弃军舰回收站、废铁回炉重造
  8. Cannot find module /node_modules/cz-conventional-changelog
  9. Shiro中自定义Realm
  10. mac|我在Android studio踩过的乌龙坑
  11. 【Hexo】Hexo搭建Butterfly主题并快速美化
  12. 苹果全球开发者大会将于6 月5日开幕
  13. ESP8266 NodeMCU Web 服务器:在仪表盘中显示传感器读数
  14. 移动硬盘提示需要格式化怎么办?数据可以恢复吗
  15. 单片机中如何将BCD码拆开_单片机中 BCD码转换
  16. aria- 标签 html,HTML5教程 如何使用ARIA
  17. 秒云“生活梦想家”计划,从一杯手冲开启
  18. json与j对象的关系和与对象的相互转换
  19. iBeacon+WiFi定位技术解决室内定位一切问题,低成本+高精准室内定位
  20. RabbitMQ入门(三)消息应答与发布确认

热门文章

  1. 中国石油大学(华东)CSDN俱乐部成立仪式
  2. Android 修改屏幕密度(开发者选项中的最小宽度)
  3. 基于JavaWeb的传染性疾病的了解与预防网站设计
  4. 5款大神手机必备APP,个个都是精品,你有什么理由拒绝
  5. linux wish和bash的关系,追踪:Wish邮到底与Wish有多大关系?
  6. 微星冲锋坦克2pro gp76和gp75有什么区别 哪个好 详细配置对比
  7. Python自学教程5-字符串有哪些常用操作
  8. TIM登录超时,00001解决办法
  9. 终于,在Excel里也能直接写python了
  10. C# 上传 下载 源代码