以下のコードを実行すると、私の Galaxy タブレット (SCH-I905 - Android 4.0.4) は PC 上の 3 つの Bluetooth サービスを正しく検出します。Galaxy Nexus - Android 4.2.2) で同じコードを実行すると、サービスが 1 つしか見つかりません。どんなアイデアでも大歓迎です:
private final BroadcastReceiver ServiceReceiver = new BroadcastReceiver()
{
public void onReceive(Context context, Intent intent)
{
String action = intent.getAction();
if ( BluetoothDevice.ACTION_UUID.equals(action) )
{
BluetoothDevice device = intent.getParcelableExtra("android.bluetooth.device.extra.DEVICE");
Parcelable[] uuidExtra = intent.getParcelableArrayExtra("android.bluetooth.device.extra.UUID");
for( int i = 0; i < uuidExtra.length; i++ )
{
Toast.makeText( this, device.getName() + ": " + uuidExtra[i].toString(), Toast.LENGTH_LONG).show();
}
}
}
};
Eclipse デバッガーでは、次の配列は 3 つのオカレンスを示しています [00001000-0000-1000-8000-00805f9b34fb、00001115-0000-1000-8000-00805f9b34fb、00001202-0000-1000-8000-00805 but for the 1010f9b34b only] -0000-1000-8000-00805f9b34fb] ネクサスの場合。バージョンの問題なのかハードウェアの問題なのかわかりません。ありがとう、ジョン
最後に 1 つ注意してください - 私は使用しています... device.fetchUuidsWithSdp();