android遥控器用什么测试,Android编程调用红外线遥控功能示例
本文实例讲述了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编程调用红外线遥控功能示例相关推荐
- android 电视遥控 编程,Android编程调用红外线遥控功能示例
本文实例讲述了Android编程调用红外线遥控功能.分享给大家供大家参考,具体如下: Android API Demos中有红外线遥控的小例子,在网上找了很久相关的资料,发现比较少,或许找的方法不对. ...
- android 极光推送测试,Android 3分钟带你集成极光推送
话不多说 首先申请极光的账号,(官方地址:https://www.jiguang.cn) 1561710140829.png 登录完成之后,先看到这个地方 ,我个人比较喜欢用旧版本,这里点击旧版 15 ...
- android遥控器按键传输流程,android 海思平台遥控器按键映射流程
1.红外遥控器映射 key.xml文件是遥控器键值与linux标准键值之前的映射, /device/hisilicon/bigfish/system/ir_user/key_pars/key.xml ...
- android studio如何编译测试,Android Studio 进行单元测试完整教程
前言 为了这个AndroidStudio的单元测试,从下午搞到晚上才搞明白咋操作. 我学一个新知识总是那么坎坷,经历无数的错误路径,才可能找到正确的路在哪儿. 我的AndroidStudio 我的An ...
- android 遥控器映射,MTK 平台Android系统遥控器映射关系
MTK 平台Android系统遥控器映射关系 在我们工作中,经常要去适配遥控器的工作,但是大部时候我们是移植其他工程上的代码来修改,可能对Android系统中的按键关系有些不清楚,下面以MTK平台为例 ...
- android 的弱网测试,Android APP弱网测试问题和解决分析
最近做了一次移动APP的弱网和中断测试,接下来分享一下遇到的一些问题: 1.现象:用户登录应用时下载初始化数据,下载过程中因网速太慢点击取消并重新登录,数据初始化完成后出现重复,造成数据不一致. 原因 ...
- android遥控器控制播放器,android tv盒子播放器控制 监听上下左右键。
需求是遥控器左右键控制进度 中间键控制暂停,上下键弹出选集,返回键弹出对话框提示是否结束观看. 重新onKeyDown方法. if (keyCode == KeyEvent.KEYCODE_DPAD_ ...
- android 丢包率测试,android 下测试网络的丢包率和延迟
昨天做网络延迟和丢包率,以前没弄过,网上寻找也没找到什么有效的,弄了一下午搞定了,代码如下,希望对大家有帮助,写的不好,还请大家批评指正 String lost = new String(); Str ...
- android实现左拉菜单,Android原生侧滑控件DrawerLayout使用方法详解
在android的v4包中有一个控件 Drawerlayout,主要实现了左拉和右拉菜单,类似于之前的"抽屉"功能,此控件使用简单,效果很柔和,操作起来体验非常好,下面是我实现的一 ...
最新文章
- 原创 | 从席卷全球的“刷脸”乱象,看国内人脸识别立法方向
- call_user_func_array 笔记
- Java《剑指Offer》面试题2:替换空格
- 企业组网为组织带来什么便利性和实用性?—Vecloud微云
- from html参数传到另外php文件中_在 PHP 中格式化并高亮 SQL 语句
- SSH 本地和服务器传输
- SGU247(排列组合与大数运算)
- IdentityServer4之Authorization Code(授权码)相对更安全
- 论文浅尝 | 通过文本到文本神经问题生成的机器理解
- 大数据之-Hadoop伪分布式_启动YARN并运行MR程序---大数据之hadoop工作笔记0026
- Android 布局管理器 之 TableLayout
- Nginx开启访问日志记录
- 垂直行业大数据分层架构图
- 《机器学习-原理、算法与应用》出版了
- RC微分积分电路 RC滤波电路 RC脉冲分压器 RC耦合电路 good
- python中运行代码时没有报错但是也没有输出而且还有exit code 0的结束标志
- 3D和2D游戏开发技术里的坐标系总结
- 4 运动动力学约束下的路径搜索
- Eclipse的架构
- 机器学习基础 LR学习