Android 6.0 - Bluetooth - Für Action_Found Broadcast Intent ist kein Code vorhanden.

AKTUALISIERE

Ich habe viele Codes ausprobiert, auch anhand von Beispielen, die im Internet gezeigt wurden. Jeder von ihnen folgt meinem Ansatz. Nach vielen Teststunden bin ich zu dem Schluss gekommen, dass es auf Android 6.0 keine Möglichkeit gibt, unbekannte Geräte über Bluetooth zu erkennen. Wir können nur die verbundenen Geräte abrufen. Ich bin mir ziemlich sicher, dass es etwas mit dieser Android-Version gibt.

wenn jemand weiß, wie man das behebt, würde ich mich über jede Hilfe sehr freuen.

Original Post

Mein Code funktioniert einwandfrei, aber es werden keine Geräte gefunden. Ich erhalte nur DISCOVERY_STARTED und DISCOVERY_FINISHED, sodass keine Geräte gefunden werden. Mit der System-App werden diese Geräte jedoch gefunden.

Dies ist der Code meiner Anwendung. Ich hoffe, er kann helfen.

 @Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState); 
    bluetoothAdapter= BluetoothAdapter.getDefaultAdapter();

//other stuff...

    IntentFilter filter=new IntentFilter();
    filter.addAction(BluetoothDevice.ACTION_FOUND);
    filter.addAction(BluetoothAdapter.ACTION_DISCOVERY_STARTED);
    filter.addAction(BluetoothAdapter.ACTION_DISCOVERY_FINISHED);

    registerReceiver(myreceiver,filter);
}

final BroadcastReceiver myreceiver = new BroadcastReceiver(){

    @Override
    public void onReceive(Context context, Intent intent) {

        String action = intent.getAction();

        Log.i("test","RECEIVED: "+ action);
        if (BluetoothAdapter.ACTION_DISCOVERY_STARTED.equals(action)) {
        }
        else if (BluetoothAdapter.ACTION_DISCOVERY_FINISHED.equals(action)) {
        }

        if(BluetoothDevice.ACTION_FOUND.equals(action))
        {
            BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
            Log.i("test", device.getName() + "\n" + device.getAddress());
        }
    }};

public void scanDevices(View v){

        if (bluetoothAdapter.isEnabled()){

            bluetoothAdapter.startDiscovery();
        }
}

Ich habe bereits Berechtigungen festgelegt:

<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />

Antworten auf die Frage(2)

Ihre Antwort auf die Frage