전원 켜기 또는 끄기와 같은 TV 용 Android 전화로 적외선을 전송하는 방법은 무엇입니까?

라잔 쿠마르 추 다리
 int[] power=    {123,339,23,54,23,14,23,16,21,14,21,16,21,14,23,16,21,16,21,14,23,53,23,15,22,16,21,54,23,14,23,16,21,16,21,54,23,54,23,53,23,54,23,14,23,54,23,14,23,54,22,54,23,16,21,16,21,14,23,14,23,16,21,16,21,54,23,54,23,15,22,15,22,14,23,14,23,14,23,14,23,53,23,54,23,14,23,14,23,16,21,54,23,14,23,16,21,14,23,16,21,14,23,16,21,14,23,53,23,53,23,54,23,54,23,2500};
ConsumerIrManager mCIR = (ConsumerIrManager) getSystemService(android.content.Context.CONSUMER_IR_SERVICE);
    mCIR.transmit(47000, power);

나는 이미 매니페스트에서 선언했습니다. 크래시가 안되지만 전송 여부는 모르겠지만 그 후 전송 대상과 전송 여부를 어떻게 알 수 있는지 알 수 없으므로 올바른 코드인지 아닌지 또는 어떻게해야하는지 알려주세요. 코드가 제대로 작동하는지 프로그래밍으로 확인하십시오. 미리 감사드립니다.

user6615010
power.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            irSend(v);
        }
    });

    volup.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            irSend(v);
        }
    });

    voldown.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            irSend(v);
        }
    });
    irData = new SparseArray<String>();
        irData.put(R.id.voldown,
                hex2dec("0000 006d 0022 0003 00a9 00a8 0015 003f 0015 003f 0015 003f 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 003f 0015 003f 0015 003f 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 003f 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0040 0015 0015 0015 003f 0015 003f 0015 003f 0015 003f 0015 003f 0015 003f 0015 0702 00a9 00a8 0015 0015 0015 0e6e"));
        irData.put(R.id.volup,
                hex2dec("0000 006d 0022 0003 00a9 00a8 0015 003f 0015 003f 0015 003f 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 003f 0015 003f 0015 003f 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 003f 0015 003f 0015 003f 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 003f 0015 003f 0015 003f 0015 003f 0015 003f 0015 0702 00a9 00a8 0015 0015 0015 0e6e"));
        irData.put(R.id.power,
                hex2dec("0000 006d 0022 0003 00a9 00a8 0015 003f 0015 003f 0015 003f 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 003f 0015 003f 0015 003f 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 003f 0015 003f 0015 0015 0015 003f 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 003f 0015 0015 0015 003f 0015 003f 0015 003f 0015 003f 0015 0702 00a9 00a8 0015 0015 0015 0e6e"));



    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {

        irInit4KitKat();

    }
}

@TargetApi(Build.VERSION_CODES.KITKAT)
public void irInit4KitKat() {

    // Get a reference to the ConsumerIrManager
    mCIR = (ConsumerIrManager) getSystemService(Context.CONSUMER_IR_SERVICE);

}


public void irSend(View view) {

        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT){

        irSend4Kitkat(view);
         }
      }

       @TargetApi(Build.VERSION_CODES.KITKAT)
       private void irSend4Kitkat(View view) {

      if(mCIR.hasIrEmitter() == true){
         String data = irData.get(view.getId());
        if (data != null) {
        String values[] = data.split(",");
        int[] pattern = new int[values.length-1];

        for (int i=0; i<pattern.length; i++){
           pattern[i] = Integer.parseInt(values[i+1]);
       }
       Log.e("LOG", mCIR.getCarrierFrequencies()+ "@" +        Integer.parseInt(values[0]) + "@" + pattern);

      mCIR.transmit(Integer.parseInt(values[0]), pattern);
       }
     }else{
           Log.e("LOG", "not supported options");
           Toast.makeText(MainActivity.this , "This device is not Support     infrared." , Toast.LENGTH_LONG).show();
        }
      }



protected String hex2dec(String irData) {
List<String> list = new ArrayList<String>(Arrays.asList(irData
    .split(" ")));
list.remove(0); // dummy
int frequency = Integer.parseInt(list.remove(0), 16); // frequency
list.remove(0); // seq1
list.remove(0); // seq2

for (int i = 0; i < list.size(); i++) {
list.set(i, Integer.toString(Integer.parseInt(list.get(i), 16)*26));
}

frequency = (int) (1000000 / (frequency * 0.241246));
    list.add(0, Integer.toString(frequency));

irData = "";
for (String s : list) {
irData += s + ",";
}
return irData;
 }
}

또한 menifest 파일에 권한을 설정했습니다.

<uses-permission android:name="android.permission.TRANSMIT_IR"
android:required="false" />

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

BIOS는 전원 켜기 / 끄기와 같은 이벤트를 기록합니까?

분류에서Dev

Beacon을 사용하여 두 Android 기기간에 데이터를 전송하는 방법은 무엇입니까?

분류에서Dev

Android 2.1 전화를 원격 오디오 수신기로 사용하는 방법은 무엇입니까?

분류에서Dev

Android TV에서 전체 화면으로 AppCompatActivity를 사용하는 방법은 무엇입니까?

분류에서Dev

USB 마우스와 같은 USB 장치의 자동 전원 끄기를 비활성화하는 방법은 무엇입니까?

분류에서Dev

전송 구성을 다른 기기로 전송하는 방법은 무엇입니까?

분류에서Dev

이미지의 위치와 배율을 다른보기로 전송하는 방법은 무엇입니까?

분류에서Dev

읽기 전용을 datepicker로 설정하는 방법은 무엇입니까?

분류에서Dev

그놈 대시에서 검은 색 아이콘 (잠금 화면, 로그 아웃, 전원 끄기, 일시 중지, 사용자 전환)을 제거하는 방법은 무엇입니까?

분류에서Dev

netcat, socat 또는 curl을 사용하여 파일 전송을 재개하는 방법은 무엇입니까?

분류에서Dev

자바 스크립트에서 SQL의 전원 기능을 사용하는 방법은 무엇입니까?

분류에서Dev

요구 사항으로 하드 전원 끄기. 안전하게 활성화하는 방법은 무엇입니까?

분류에서Dev

전송하기 전에 exim에서 유효한 인증을 강제하는 방법은 무엇입니까?

분류에서Dev

Radeon 동적 전원 관리 기능을 활성화하는 방법은 무엇입니까?

분류에서Dev

Radeon 동적 전원 관리 기능을 활성화하는 방법은 무엇입니까?

분류에서Dev

일부 파일 전송 응용 프로그램에서와 같이 WiFi를 통해 장치 이름 (가변)을 게시하는 방법은 무엇입니까?

분류에서Dev

scp를 사용하여 Ubuntu와 Windows10간에 파일을 전송하는 방법은 무엇입니까?

분류에서Dev

사전 정의 된 값으로 사전을 초기화하는 방법은 무엇입니까?

분류에서Dev

이전 셀 값을 기반으로 조건부 서식을 적용하는 방법은 무엇입니까?

분류에서Dev

userId를 전화 번호로 갖는 사용자의 모든 이름을 가져 와서 목록보기에 저장하는 방법은 무엇입니까?

분류에서Dev

Telegram에서와 같이 스 와이프시 전체 화면 사진 전환에 애니메이션을 적용하는 방법은 무엇입니까?

분류에서Dev

Ubuntu와 Windows간에 파일을 전송하는 방법은 무엇입니까?

분류에서Dev

Ubuntu와 Windows간에 파일을 전송하는 방법은 무엇입니까?

분류에서Dev

드라이브가 몇 번의 전원 차단 / 전원 켜기를 수행했는지 확인하는 방법은 무엇입니까?

분류에서Dev

스레드 안전 방식으로 원자를 초기화하는 방법은 무엇입니까?

분류에서Dev

Android에서 실제로 전체 화면을 채우기 위해 사용자 지정 토스트 레이아웃을 만드는 방법은 무엇입니까?

분류에서Dev

원하는 각도로 기능을 회전하는 방법은 무엇입니까?

분류에서Dev

로컬에서 입력 한 수정 자 키 또는 바로 가기를 VNC를 통해 원격 데스크톱으로 전송하는 방법은 무엇입니까? 어떻게 든 그들을 가면 또는 탈출?

분류에서Dev

yii 버전 1.x에서 위젯 양식을 읽기 전용으로 설정하거나 비활성화하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    BIOS는 전원 켜기 / 끄기와 같은 이벤트를 기록합니까?

  2. 2

    Beacon을 사용하여 두 Android 기기간에 데이터를 전송하는 방법은 무엇입니까?

  3. 3

    Android 2.1 전화를 원격 오디오 수신기로 사용하는 방법은 무엇입니까?

  4. 4

    Android TV에서 전체 화면으로 AppCompatActivity를 사용하는 방법은 무엇입니까?

  5. 5

    USB 마우스와 같은 USB 장치의 자동 전원 끄기를 비활성화하는 방법은 무엇입니까?

  6. 6

    전송 구성을 다른 기기로 전송하는 방법은 무엇입니까?

  7. 7

    이미지의 위치와 배율을 다른보기로 전송하는 방법은 무엇입니까?

  8. 8

    읽기 전용을 datepicker로 설정하는 방법은 무엇입니까?

  9. 9

    그놈 대시에서 검은 색 아이콘 (잠금 화면, 로그 아웃, 전원 끄기, 일시 중지, 사용자 전환)을 제거하는 방법은 무엇입니까?

  10. 10

    netcat, socat 또는 curl을 사용하여 파일 전송을 재개하는 방법은 무엇입니까?

  11. 11

    자바 스크립트에서 SQL의 전원 기능을 사용하는 방법은 무엇입니까?

  12. 12

    요구 사항으로 하드 전원 끄기. 안전하게 활성화하는 방법은 무엇입니까?

  13. 13

    전송하기 전에 exim에서 유효한 인증을 강제하는 방법은 무엇입니까?

  14. 14

    Radeon 동적 전원 관리 기능을 활성화하는 방법은 무엇입니까?

  15. 15

    Radeon 동적 전원 관리 기능을 활성화하는 방법은 무엇입니까?

  16. 16

    일부 파일 전송 응용 프로그램에서와 같이 WiFi를 통해 장치 이름 (가변)을 게시하는 방법은 무엇입니까?

  17. 17

    scp를 사용하여 Ubuntu와 Windows10간에 파일을 전송하는 방법은 무엇입니까?

  18. 18

    사전 정의 된 값으로 사전을 초기화하는 방법은 무엇입니까?

  19. 19

    이전 셀 값을 기반으로 조건부 서식을 적용하는 방법은 무엇입니까?

  20. 20

    userId를 전화 번호로 갖는 사용자의 모든 이름을 가져 와서 목록보기에 저장하는 방법은 무엇입니까?

  21. 21

    Telegram에서와 같이 스 와이프시 전체 화면 사진 전환에 애니메이션을 적용하는 방법은 무엇입니까?

  22. 22

    Ubuntu와 Windows간에 파일을 전송하는 방법은 무엇입니까?

  23. 23

    Ubuntu와 Windows간에 파일을 전송하는 방법은 무엇입니까?

  24. 24

    드라이브가 몇 번의 전원 차단 / 전원 켜기를 수행했는지 확인하는 방법은 무엇입니까?

  25. 25

    스레드 안전 방식으로 원자를 초기화하는 방법은 무엇입니까?

  26. 26

    Android에서 실제로 전체 화면을 채우기 위해 사용자 지정 토스트 레이아웃을 만드는 방법은 무엇입니까?

  27. 27

    원하는 각도로 기능을 회전하는 방법은 무엇입니까?

  28. 28

    로컬에서 입력 한 수정 자 키 또는 바로 가기를 VNC를 통해 원격 데스크톱으로 전송하는 방법은 무엇입니까? 어떻게 든 그들을 가면 또는 탈출?

  29. 29

    yii 버전 1.x에서 위젯 양식을 읽기 전용으로 설정하거나 비활성화하는 방법은 무엇입니까?

뜨겁다태그

보관