2016-06-06 21 views
5

Sto lavorando con un'app che cerca il bluetooth nelle vicinanze. Io uso i seguenti codici, funziona in 5.0, restituisce i dispositivi bluetooth nelle vicinanze ma quando I Test in 6.0.1 BluetoothDevice.ACTION_FOUND non viene chiamato, vengono chiamati solo BluetoothAdapter.ACTION_DISCOVERY_STARTED e BluetoothAdapter.ACTION_DISCOVERY_FINISHED.Ricerca Bluetooth nelle vicinanze in 6.0.1

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    BluetoothManager bluetoothManager = (BluetoothManager) getSystemService(Context.BLUETOOTH_SERVICE); 
    bluetoothAdapter = bluetoothManager.getAdapter(); 
    Intent discoverableIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE); 
    discoverableIntent.putExtra(BluetoothAdapter.EXTRA_DISCOVERABLE_DURATION,0); 
    startActivity(discoverableIntent); 
} 
private final BroadcastReceiver bReciever = new BroadcastReceiver() { 
    public void onReceive(Context context, Intent intent) { 
     String action = intent.getAction(); 
     System.out.println(action); 
     if (BluetoothDevice.ACTION_FOUND.equals(action)) { 
      BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE); 
      System.out.println(device); 
     } 
    } 
}; 
public void onSearch(View v){ 
    if (bluetoothAdapter.isDiscovering()) { 
     bluetoothAdapter.cancelDiscovery(); 
    } 
    System.out.println(bluetoothAdapter.startDiscovery()); 
    IntentFilter intentFilter = new IntentFilter(); 
    intentFilter.addAction(BluetoothDevice.ACTION_FOUND); 
    intentFilter.addAction(BluetoothAdapter.ACTION_DISCOVERY_STARTED); 
    intentFilter.addAction(BluetoothAdapter.ACTION_DISCOVERY_FINISHED); 
    registerReceiver(bReciever, intentFilter); 

} 

La mia domanda è perché il BluetoothDevice.ACTION_FOUND non era chiamato a 6.0.1? Grazie.

+0

Hai trovato la causa. Ho lo stesso problema – Anu

risposta

-1

hai controllato l'autorizzazione in Application Manager?

Goto "Impostazioni" -> "Apps" -> "tua applicazione" -> "Permessi".

e verificare se è stata concessa l'autorizzazione Bluetooth.

+0

Non c'è alcuna autorizzazione di richiesta nelle mie app Impostazione autorizzazione. In My manifest aggiungo il seguente use-permission

Problemi correlati