Java 如何发送红外代码,将字符串转换为;IR字符串“;

Java 如何发送红外代码,将字符串转换为;IR字符串“;,java,android,infrared,Java,Android,Infrared,我想尝试用一个简单的应用程序打开我的(旧)汽车(有红外接收器) 在钥匙的电子板上,我有一张带有代码的纸(示例:06495167.5) 基于以下来源,我认为本示例中的代码仅为06495: 在android上,你必须发送一个转换成dec的十六进制代码? 这是我的代码的一部分(因为没有例外而工作,在我的注释3上有蓝色的led) 我只是需要一些帮助来正确格式化IR_代码变量。我可以发送任何字符串,因为指示灯闪烁,所以它似乎工作。 你有没有想法格式化这个代码? 我觉得它有点像hex2dec(“195F”

我想尝试用一个简单的应用程序打开我的(旧)汽车(有红外接收器)

在钥匙的电子板上,我有一张带有代码的纸(示例:06495167.5) 基于以下来源,我认为本示例中的代码仅为06495:

在android上,你必须发送一个转换成dec的十六进制代码? 这是我的代码的一部分(因为没有例外而工作,在我的注释3上有蓝色的led)

我只是需要一些帮助来正确格式化IR_代码变量。我可以发送任何字符串,因为指示灯闪烁,所以它似乎工作。 你有没有想法格式化这个代码? 我觉得它有点像hex2dec(“195F”)?195F是6495的十六进制

它可以是: IR_CODE=hex2dec(Integer.toHexString(Integer.decode(IR_CODE))); 根据这个来源:,但我不确定,我不能测试太多的应用程序

String IR_CODE="06495";
Class irClass = irService.getClass();
Class params[] = new Class[1];
params[0] = String.class;
try {
    Method sendIR = irClass.getMethod("write_irsend", params);

for(int i=0;i<2;i++)
    sendIR.invoke(irService, IR_CODE);
}
String IR_code=“06495”;
类irClass=irService.getClass();
类参数[]=新类[1];
params[0]=String.class;
试一试{
方法sendIR=irClass.getMethod(“write_irsend”,params);

对于(inti=0;i实际上,这并不容易。“IR HEX”不是一个十六进制数,它是一个由几个十六进制值组成的字符串,这些十六进制值对频率和开/关模式进行编码

所以,你的“06495”例子,它的微型机,你必须得到一个红外学习设备,以了解实际的红外模式

我使用红外玩具作为硬件,分析仪作为软件,这给你任何红外爆炸机的“红外十六进制”(就像你的遥控器)


然后,使用“IR HEX”字符串,您可以使用hex2dec函数。

如果您不知道无钥匙进入系统使用的实际编码格式,无论是从文档中还是通过“录制”,我相信您都无法做到这一点这是一些文档:你可以在这里找到如何编程这种类型或芯片:你有一个5位数的代码+3位数/字母的代码。我只需要把它翻译成IR十六进制代码,就可以了。没有好的文档可以做到这一点,所以我认为如果没有“红外十六进制代码学习器”设备。我没有HTC的,它有一个红外接收器,也许有可能找到一个便宜的USB红外学习器?我可以用它来获取每个设备(汽车(旧车,因为新车有射频钥匙)、玩具、机器人清洁器等)的代码。试着回答这个问题: