调用getSystemService时获取null(" CONSUMER_IR_SERVICE")

时间:2014-05-24 21:31:25

标签: android infrared

我正在尝试为我的电视构建一个非常简单的远程应用程序。 经过一些研究后,我发现了ConsumerIrManagerClass,但是当我致电this.getSystemService("CONSUMER_IR_SERVICE");时,我得到null ......

手机是三星Galaxy S4,所以它有一个红外传感器......

这是我方法的代码:

public void btnOnOff_Click(View view) {
    String command = "0000 0073 0000 000c 0020 0020 0020 0020 0040 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0040 0020 0020 0040 0020 0020 0cbf";
    irManager = (ConsumerIrManager) this.getSystemService("CONSUMER_IR_SERVICE");
    irManager.transmit(36000, hexToDec(command));
}

有谁知道如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

您应该使用Context.CONSUMER_IR_SERVICE常量作为参数。

它的值是 "consumer_ir" ,而不是"CONSUMER_IR_SERVICE"

答案 1 :(得分:0)

另外要明确:它是红外发射器,而不是传感器。传感器在您控制的设备上。

如果你这样做,你可能会: Context.CONSUMER_IR_SERVICE 你得到NULL你的手机不支持此功能。首先尝试Play商店中的免费IR应用,看看是否有效。