2013-02-12 2 views

ответ

6

Найдено решение с помощью отражения, я делаю это сейчас, как следует, и это работает для меня:

//For Pairing 
private void pairDevice(BluetoothDevice device) { 
    try { 
     Log.d("pairDevice()", "Start Pairing..."); 
     Method m = device.getClass().getMethod("createBond", (Class[]) null); 
     m.invoke(device, (Object[]) null); 
     Log.d("pairDevice()", "Pairing finished."); 
    } catch (Exception e) { 
     Log.e("pairDevice()", e.getMessage()); 
    } 
} 


//For UnPairing 
    private void unpairDevice(BluetoothDevice device) { 
    try { 
     Log.d("unpairDevice()", "Start Un-Pairing..."); 
     Method m = device.getClass().getMethod("removeBond", (Class[]) null); 
     m.invoke(device, (Object[]) null); 
     Log.d("unpairDevice()", "Un-Pairing finished."); 
    } catch (Exception e) { 
     Log.e(TAG, e.getMessage()); 
    } 
} 
+0

Как дать вывод в код выше? –

+2

Вам нужно будет выяснить, как я сделал этот код давным-давно. –

+0

Что такое класс метода? –

4

можете сделать это:

public void pairDevice(BluetoothDevice device) { 
     String ACTION_PAIRING_REQUEST = "android.bluetooth.device.action.PAIRING_REQUEST"; 
     Intent intent = new Intent(ACTION_PAIRING_REQUEST); 
     String EXTRA_DEVICE = "android.bluetooth.device.extra.DEVICE"; 
     intent.putExtra(EXTRA_DEVICE, device); 
     String EXTRA_PAIRING_VARIANT = "android.bluetooth.device.extra.PAIRING_VARIANT"; 
     int PAIRING_VARIANT_PIN = 0; 
     intent.putExtra(EXTRA_PAIRING_VARIANT, PAIRING_VARIANT_PIN); 
     intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
     getActivity().startActivityForResult(intent,0); 


    } 
+2

Он не работает, , хотя он запускает спаривание, но дальше ничего не происходит после ввода ключа доступа. в то время как та же самая спаривающая деятельность, если она вышла из настроек, работает дальше после ввода пароля ... пожалуйста, помогите ... –

0

установить ваши права в Android файл манифеста ли?

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

Разрешение уже установлено, но все еще не сопряжено –

+0

Поскольку я никогда ничего не делал с Bluetooth, я не уверен если я могу помочь вам дальше. Но я нашел этот пример с исходным кодом: [http://www.basic4ppc.com/forum/basic4android-getting-started-tutorials/14768-android-bluetooth-bluetoothadmin-tutorial.html](http://www. basic4ppc.com/forum/basic4android-getting-started-tutorials/14768-android-bluetooth-bluetoothadmin-tutorial.html) – gomezfx

+0

эту ссылку просмотрели. не полезно, потому что он не имеет ничего общего с подключением Bluetooth. –

Смежные вопросы