本文实例讲述了Android编程调用红外线遥控功能。分享给大家供大家参考,具体如下:

Android API Demos中有红外线遥控的小例子,在网上找了很久相关的资料,发现比较少,或许找的方法不对。

Github上有一个与之相关的开源项目https://github.com/timnew/AndroidInfrared,还没来得及学习。希望有相关资料或学习项目的大神们多指导 。

/**

* Android红外线遥控官方Demo

*

* @description:

* @author ldm

* @date 2016-4-28 下午5:06:28

*/

public class ConsumerIrActivity extends Activity {

private static final String TAG = "ConsumerIrTest";

private TextView mFreqsText;

// Android4.4之后 红外遥控ConsumerIrManager,可以被小米4调用

private ConsumerIrManager mCIR;

@SuppressLint("InlinedApi")

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.consumer_ir);

// 获取系统的红外遥控服务

mCIR = (ConsumerIrManager) getSystemService(Context.CONSUMER_IR_SERVICE);

initViewsAndEvents();

}

private void initViewsAndEvents() {

findViewById(R.id.send_button).setOnClickListener(mSendClickListener);

findViewById(R.id.get_freqs_button)

.setOnClickListener(mOnClickListener);

mFreqsText = (TextView) findViewById(R.id.freqs_text);

}

View.OnClickListener mSendClickListener = new View.OnClickListener() {

@TargetApi(Build.VERSION_CODES.KITKAT)

public void onClick(View v) {

if (!mCIR.hasIrEmitter()) {

Log.e(TAG, "未找到红外发身器!");

return;

}

// 一种交替的载波序列模式,通过毫秒测量

int[] pattern = { 1901, 4453, 625, 1614, 625, 1588, 625, 1614, 625,

442, 625, 442, 625, 468, 625, 442, 625, 494, 572, 1614,

625, 1588, 625, 1614, 625, 494, 572, 442, 651, 442, 625,

442, 625, 442, 625, 1614, 625, 1588, 651, 1588, 625, 442,

625, 494, 598, 442, 625, 442, 625, 520, 572, 442, 625, 442,

625, 442, 651, 1588, 625, 1614, 625, 1588, 625, 1614, 625,

1588, 625, 48958 };

// 在38.4KHz条件下进行模式转换

mCIR.transmit(38400, pattern);

}

};

@SuppressLint("NewApi")

View.OnClickListener mOnClickListener = new View.OnClickListener() {

public void onClick(View v) {

StringBuilder b = new StringBuilder();

if (!mCIR.hasIrEmitter()) {

mFreqsText.setText("未找到红外发身器!");

return;

}

// 获得可用的载波频率范围

ConsumerIrManager.CarrierFrequencyRange[] freqs = mCIR

.getCarrierFrequencies();

b.append("IR Carrier Frequencies:\n");// 红外载波频率

// 边里获取频率段

for (ConsumerIrManager.CarrierFrequencyRange range : freqs) {

b.append(String.format(" %d - %d\n",

range.getMinFrequency(), range.getMaxFrequency()));

}

mFreqsText.setText(b.toString());// 显示结果

}

};

}

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical" >

android:id="@+id/send_button"

android:text="@string/ir_send"

android:layout_width="wrap_content"

android:layout_height="wrap_content"/>

android:id="@+id/get_freqs_button"

android:text="@string/ir_get_freqs"

android:layout_width="wrap_content"

android:layout_height="wrap_content"/>

android:id="@+id/freqs_text_scroll"

android:layout_width="match_parent"

android:layout_height="0dp"

android:layout_weight="1" >

android:id="@+id/freqs_text"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:paddingLeft="3dp"

android:paddingRight="3dp" />

希望本文所述对大家Android程序设计有所帮助。

android遥控器用什么测试,Android编程调用红外线遥控功能示例相关推荐

  1. android 电视遥控 编程,Android编程调用红外线遥控功能示例

    本文实例讲述了Android编程调用红外线遥控功能.分享给大家供大家参考,具体如下: Android API Demos中有红外线遥控的小例子,在网上找了很久相关的资料,发现比较少,或许找的方法不对. ...

  2. android 极光推送测试,Android 3分钟带你集成极光推送

    话不多说 首先申请极光的账号,(官方地址:https://www.jiguang.cn) 1561710140829.png 登录完成之后,先看到这个地方 ,我个人比较喜欢用旧版本,这里点击旧版 15 ...

  3. android遥控器按键传输流程,android 海思平台遥控器按键映射流程

    1.红外遥控器映射 key.xml文件是遥控器键值与linux标准键值之前的映射, /device/hisilicon/bigfish/system/ir_user/key_pars/key.xml ...

  4. android studio如何编译测试,Android Studio 进行单元测试完整教程

    前言 为了这个AndroidStudio的单元测试,从下午搞到晚上才搞明白咋操作. 我学一个新知识总是那么坎坷,经历无数的错误路径,才可能找到正确的路在哪儿. 我的AndroidStudio 我的An ...

  5. android 遥控器映射,MTK 平台Android系统遥控器映射关系

    MTK 平台Android系统遥控器映射关系 在我们工作中,经常要去适配遥控器的工作,但是大部时候我们是移植其他工程上的代码来修改,可能对Android系统中的按键关系有些不清楚,下面以MTK平台为例 ...

  6. android 的弱网测试,Android APP弱网测试问题和解决分析

    最近做了一次移动APP的弱网和中断测试,接下来分享一下遇到的一些问题: 1.现象:用户登录应用时下载初始化数据,下载过程中因网速太慢点击取消并重新登录,数据初始化完成后出现重复,造成数据不一致. 原因 ...

  7. android遥控器控制播放器,android tv盒子播放器控制 监听上下左右键。

    需求是遥控器左右键控制进度 中间键控制暂停,上下键弹出选集,返回键弹出对话框提示是否结束观看. 重新onKeyDown方法. if (keyCode == KeyEvent.KEYCODE_DPAD_ ...

  8. android 丢包率测试,android 下测试网络的丢包率和延迟

    昨天做网络延迟和丢包率,以前没弄过,网上寻找也没找到什么有效的,弄了一下午搞定了,代码如下,希望对大家有帮助,写的不好,还请大家批评指正 String lost = new String(); Str ...

  9. android实现左拉菜单,Android原生侧滑控件DrawerLayout使用方法详解

    在android的v4包中有一个控件 Drawerlayout,主要实现了左拉和右拉菜单,类似于之前的"抽屉"功能,此控件使用简单,效果很柔和,操作起来体验非常好,下面是我实现的一 ...

最新文章

  1. 原创 | 从席卷全球的“刷脸”乱象,看国内人脸识别立法方向
  2. call_user_func_array 笔记
  3. Java《剑指Offer》面试题2:替换空格
  4. 企业组网为组织带来什么便利性和实用性?—Vecloud微云
  5. from html参数传到另外php文件中_在 PHP 中格式化并高亮 SQL 语句
  6. SSH 本地和服务器传输
  7. SGU247(排列组合与大数运算)
  8. IdentityServer4之Authorization Code(授权码)相对更安全
  9. 论文浅尝 | 通过文本到文本神经问题生成的机器理解
  10. 大数据之-Hadoop伪分布式_启动YARN并运行MR程序---大数据之hadoop工作笔记0026
  11. Android 布局管理器 之 TableLayout
  12. Nginx开启访问日志记录
  13. 垂直行业大数据分层架构图
  14. 《机器学习-原理、算法与应用》出版了
  15. RC微分积分电路 RC滤波电路 RC脉冲分压器 RC耦合电路 good
  16. python中运行代码时没有报错但是也没有输出而且还有exit code 0的结束标志
  17. 3D和2D游戏开发技术里的坐标系总结
  18. 4 运动动力学约束下的路径搜索
  19. Eclipse的架构
  20. 机器学习基础 LR学习

热门文章

  1. 数量场的等值面与矢量场的矢量线的一些基本的东西(写得不好)
  2. MySQL(四)InnoDB中一棵B+树能存多少行数据
  3. Storm介绍实际开发注意事项
  4. 单调栈 BZOJ2364 城市美化
  5. Android AsyncTask 详解及注意事项
  6. XCL-Charts圈图
  7. iOS开发学习笔记二:UITableView(1)
  8. 工作经验总结:百万数据引发的性能瓶颈问题
  9. webservice系统学习笔记8-简单的权限校验
  10. SQL Server 2005 正则表达式使模式匹配和数据提取变得更容易