博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android 空调遥控器——红外设备(基础)
阅读量:4104 次
发布时间:2019-05-25

本文共 1994 字,大约阅读时间需要 6 分钟。

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

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

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

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

2、好说完以上要求,来具体说说怎么调用这个红外发射设备,或者说是驱动; 

首先先加一个权限和一个过滤器

这个权限呢就是调用红外设备就不多说
这个过滤器的作用主要是给应用市场提个醒 Android Market会根据uses-feature过滤所有你设备不支持的应用 再通俗点说就是没有ConsumerIrManager这个类的android设备 在应用市场上看不到此应用。(因为版本太低 下载下来也没用)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

3、红外控制类 ConsumerIrManager 

具体怎么调用看代码(注释写的很清楚了)

//需要api大于19与下面if判断用途类似@RequiresApi(api = Build.VERSION_CODES.KITKAT)public class InfraredActivity extends BaseActivity {
//获取红外控制类 private ConsumerIrManager IR; //判断是否有红外功能 boolean IRBack; @Override protected 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); }}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43

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

想详细了解 看小编下一篇

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

原博客地址 :https://blog.csdn.net/gywuhengy/article/details/72851553

你可能感兴趣的文章