2016-06-06 10 views
5

Pracuję z aplikacją, która przeszukuje pobliską bluetooth. Używam następujących kodów, działa w wersji 5.0, ale zwraca urządzenia Bluetooth w pobliżu, ale kiedy testuję w wersji 6.0.1 BluetoothDevice.ACTION_FOUND nie jest wywoływany, tylko BluetoothAdapter.ACTION_DISCOVERY_STARTED i BluetoothAdapter.ACTION_DISCOVERY_FINISHED są wywoływane.Wyszukiwanie Bluetooth W pobliżu w wersji 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); 

} 

Moje pytanie Dlaczego funkcja BluetoothDevice.ACTION_FOUND nie została wywołana w wersji 6.0.1? Dziękuję Ci.

+0

Czy znalazłeś przyczynę. Mam ten sam numer – Anu

Odpowiedz

-1

czy sprawdziłeś uprawnienia w Menedżerze aplikacji?

Goto "Ustawienia" -> "Aplikacje" -> "swoją aplikację" -> "Uprawnienia".

i sprawdź, czy przyznano uprawnienia Bluetooth.

+0

Brak zezwolenia na żądanie w ustawieniach Moje aplikacje. W Moim manifeście dodaję następujące zastosowania-pozwolenie