ConsumerIrManagerpublic final class ConsumerIrManager extends Object Class that operates consumer infrared on the device.
To obtain an instance of the system infrared transmitter, call
{@link android.content.Context#getSystemService(java.lang.String)
Context.getSystemService()} with
{@link android.content.Context#CONSUMER_IR_SERVICE} as the argument.
|
Fields Summary |
---|
private static final String | TAG | private final String | mPackageName | private final IConsumerIrService | mService |
Constructors Summary |
---|
public ConsumerIrManager(android.content.Context context)
mPackageName = context.getPackageName();
mService = IConsumerIrService.Stub.asInterface(
ServiceManager.getService(Context.CONSUMER_IR_SERVICE));
|
Methods Summary |
---|
public android.hardware.ConsumerIrManager$CarrierFrequencyRange[] | getCarrierFrequencies()Query the infrared transmitter's supported carrier frequencies
if (mService == null) {
Log.w(TAG, "no consumer ir service.");
return null;
}
try {
int[] freqs = mService.getCarrierFrequencies();
if (freqs.length % 2 != 0) {
Log.w(TAG, "consumer ir service returned an uneven number of frequencies.");
return null;
}
CarrierFrequencyRange[] range = new CarrierFrequencyRange[freqs.length / 2];
for (int i = 0; i < freqs.length; i += 2) {
range[i / 2] = new CarrierFrequencyRange(freqs[i], freqs[i+1]);
}
return range;
} catch (RemoteException e) {
}
return null;
| public boolean | hasIrEmitter()Check whether the device has an infrared emitter.
if (mService == null) {
Log.w(TAG, "no consumer ir service.");
return false;
}
try {
return mService.hasIrEmitter();
} catch (RemoteException e) {
}
return false;
| public void | transmit(int carrierFrequency, int[] pattern)Transmit an infrared pattern
This method is synchronous; when it returns the pattern has
been transmitted. Only patterns shorter than 2 seconds will
be transmitted.
if (mService == null) {
Log.w(TAG, "failed to transmit; no consumer ir service.");
return;
}
try {
mService.transmit(mPackageName, carrierFrequency, pattern);
} catch (RemoteException e) {
Log.w(TAG, "failed to transmit.", e);
}
|
|