我打电话ConsumerIrManager.hasIrEmitter()给我的LG G2,但它总是回来false.
根据红外发射器的文档:
在包含红外(IR)发射器的设备上运行时,您现在可以使用
ConsumerIrManagerAPI 传输IR信号.要获取实例ConsumerIrManager,请将getSystemService()其CONSUMER_IR_SERVICE作为参数调用.然后,您可以getCarrierFrequencies()通过传递所需的频率和信号模式来查询设备支持的IR频率并发送信号transmit().您应该首先通过调用来检查设备是否包含IR发射器
hasIrEmitter(),但如果您的应用仅与具有一个设备的设备兼容,则应<uses-feature>在清单中包含"android.hardware.consumerir"(FEATURE_CONSUMER_IR)元素.
我的代码如下:
MainActivity.java
import android.hardware.ConsumerIrManager;
....
@Override
protected void onCreate(Bundle savedInstanceState) {
....
ConsumerIrManager mCIR = (ConsumerIrManager)getSystemService(CONSUMER_IR_SERVICE);
Log.e(TAG, "mCIR.hasIrEmitter(): " + mCIR.hasIrEmitter());
PackageManager pm = getPackageManager();
Log.e(TAG, "pm.hasSystemFeature(PackageManager.FEATURE_CONSUMER_IR): "
+ pm.hasSystemFeature(PackageManager.FEATURE_CONSUMER_IR));
FeatureInfo[] fi = pm.getSystemAvailableFeatures();
for (int i = 0; i < fi.length; i++) {
Log.e(TAG, "Feature: " + …Run Code Online (Sandbox Code Playgroud)