Sono di fronte a un problema con l'emettitore IR sul mio Galaxy S5 in esecuzione su Android 5.0.Emettitore IR e Android 5.0
Prima di aggiornarlo su 5.0, la mia app funzionava perfettamente sul mio telefono ma ora, il dispositivo che suppongo di gestire non ha alcuna reazione. Quando faccio clic sulla mia app per inviare un codice IR, il led lampeggia per indicare che il gestore IR è attivato e posso ricevere un segnale con un fotodiodo IR collegato al mio oscilloscopio. Sfortunatamente, la forma del segnale che ottengo è molto diversa da quella che dovrebbe essere.
Posso aggiungere che lo stesso codice in esecuzione sul mio tablet sotto Android 4.4.2 funziona ancora perfettamente.
per contribuire a rispondere alla mia domanda, un campione del mio codice:
private String commande="0000 0070 0000 0032 0080 003F 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 "
+ "0010 0010 0010 0010 0010 0010 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 "
+ "0030 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0030 0010 0030 0010 0030 0010 0030 0010 0030 "
+ "0010 0010 0010 0010 0010 0010 0010 0030 0010 0030 0010 0030 0010 0030 0010 0030 0010 0010 0010 0030 0010 0A98";
IRManager=(ConsumerIrManager)activité.getSystemService(Context.CONSUMER_IR_SERVICE);
code=commandConversion(commande);
IRManager.transmit(code.getFrequency(),code.getCodes());
private RemoteCommandeCode commandConversion(String command) {
List<String> list;
RemoteCommandeCode code;
int frequency;
list= new ArrayList<String>(Arrays.asList(command.split(" ")));
list.remove(0); // dummy
frequency = Integer.parseInt(liste.remove(0), 16); // frequency
list.remove(0); // seq1
list.remove(0); // seq2
code=new RemoteCommandeCode(list.size());
for (int i = 0; i < list.size(); i++) {
code.setCode(i,Integer.parseInt(list.get(i), 16));
}
frequency = (int) (1000000/(frequency * 0.241246));
code.setFrequency(frequency);
return(code);
}
public class RemoteCommandeCode {
private int fréquence;
private int [] codes;
public RemoteCommandeCode(int nombreCodes){
codes=new int[nombreCodes];
}
public int getFrequency() {
return frequency;
}
public void setFrequency(int frequency) {
this.frequency = frequency;
}
public int [] getCodes() {
return codes;
}
public void setCodes(int [] codes) {
this.codes = codes;
}
public void setCode(int i,int code){
codes[i]=code;
}
}
come richiesto, le immagini del segnale emesso con il semplice codice "0000 0070 0000 0003 0010 0020 0010 0020 0010 0020", ho andare avanti 4.4.2:
e su Android 5.0:
Quello che avremmo davvero bisogno di vedere sarebbe un intreccio tra vecchio e nuovo, o ancora meglio, un modello molto semplice che non è trasmesso dalla nuova versione come dovrebbe essere. –
Immagini del segnale emesso aggiunto nella domanda ... – VD63
La tua base dei tempi è troppo lenta per verificare i dettagli, ma sembra abbastanza chiaro che il secondo grafico è un fallimento quasi totale. Forse puoi vedere se ci sono altre app o demo in grado di trasmettere forme d'onda più plausibili nella versione più recente? Si tratta di una build ufficiale Samsung di 5.0 OTA consegnata al tuo dispositivo, o qualcosa che hai acquistato da solo o una ROM/porta personalizzata? –