我想访问BluetoothDevice.ACTION_FOUND中包含的额外内容,例如,如果我想访问BluetoothDevice.EXTRA_CLASS中的值包含,我应该在代码中使用它,如下所示,但当我显示值时变量“state”,它类似于-245175
BluetoothDevice.EXTRA_CLASS中是否还有其他值?我怎么知道他们?我应该如何访问它们?
更新:
我注册的意图是:BluetoothDevice.ACTION_FOUND
码:
switch (action) {
case BluetoothDevice.ACTION_FOUND:
Log.d(TAG, LogAnd.i("onReceive", "BluetoothDevice.ACTION_FOUND"));
final int state = intent.getIntExtra(BluetoothDevice.EXTRA_CLASS, BluetoothAdapter.ERROR);
Log.d(TAG, LogAnd.i("onReceive", "state: "+state));
break;
答案 0 :(得分:1)
您正在使用getIntExtra()
,但额外值不是整数。它仍然“有效”,但内容的解释方式是错误的,所以你会得到毫无意义的价值。
在ACTION_FOUND和ACTION_CLASS_CHANGED意图中用作Parcelable
BluetoothClass
额外字段。
您应该使用getParcelableExtra()
代替。这应该给你一个正确的类的实例。像这样:
BluetoothClass bclass = (BluetoothClass)intent.getParcelableExtra(BluetoothDevice.EXTRA_CLASS);