Android 4.4 ConsumerIr.transmit сходит с ума

Я пытаюсь написать небольшое приложение для Android, которое использует новый инфракрасный API, добавленный в Android 4.4 KitKat. →Документация

У меня возникают проблемы, потому что мое приложение зависает и его убивают, потому что оно не отвечает.

Некоторый код:

...
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    irService = (ConsumerIrManager) getSystemService(CONSUMER_IR_SERVICE);
    Log.d("transmit", "lets go");
    irService.transmit(38000, new int[] { 70 });
    Log.d("transmit", "done");
...

И логарифм этого:

01-24 01:28:25.450: D/transmit(10551): lets go
01-24 01:29:14.610: D/transmit(10551): done

Звонок на передачу занимает более 30 секунд!

Из документации:

public void transmit (int carrierFrequency, int[] pattern)
Added in API level 19

Tansmit and infrared pattern

This method is synchronous; when it returns the pattern has been transmitted. Only patterns shorter than 2 seconds will be transmitted.

Parameters
carrierFrequency    The IR carrier frequency in Hertz.
pattern     The alternating on/off pattern in microseconds to transmit. <---- this is wrong, see http://stackoverflow.com/questions/20244337

Через камеру моего телефона я видел, как ИК-светодиод все время мигает, поэтому я измерил реальное время передачи с помощью ИК-датчика (+ означает всплеск, - означает пробел):

+64
-88448
+1835
-789
+1557
-768
+1579
-768
+1579
-768
+149
-491
+1664
-555
+533
-555
+1664
-555
+1664
-555
+1664
-555
+533
-555
+533
-555
+533
-555
+533
-533
+555
-555
+533
-555
+533
-555
+533
-555
+533
-555
+1664
-555
+1664
-555
+533
-555
+533
-555
+533
-555
+533
-555
+533
-555
+1664
-555
+533
-555
+533
-555
+1664
-555
+1664
-555
+1664
-555
+1664
-555
+1664
-555
+555
-388053
+60672
-384
+341
-714709
+61419
-320
+277
-533
+213
-1188181
+42069
-491
+299
-733269
+38421
-427
+341
-736917
+38208
-427
+320
-737131
+37867
-491
+320
-737429
+37696
-512
+299
-737600
+37739
-597
+256
-737536
+36736
-533
+320
-1213376
+36181
-683
+235
-739008
+35605
-789
+213
-1214336
+36181
-683
+256
-1213824
+36651
-576
+277
-1213440
+36160
-619
+277
-1213930
+35797
-555
+320
-1214272
+36480
-555
+299

Что происходит?

Мое устройство — Galaxy Note 10.1 N8010 под управлением Android OnmiROM 4.4. Может быть, кто-то с совместимым устройством может проверить это?


person Euro    schedule 24.01.2014    source источник


Ответы (1)


Хорошо, после обновления сборок OmniROM для моего устройства проблема устранена.

person Euro    schedule 29.01.2014