Как подключить Bluetooth-устройство к программному обеспечению Android

Я разрабатываю приложение, в котором хочу подключить главную проблему с устройством Bluetooth. Я не хочу, чтобы пользователь вводил требуемый PIN-код, вместо этого приложение должно делать это самостоятельно … У меня нет какой-либо связанной проблемы … Только хочу Для вставки и завершения процесса проверки подлинности штыря самим приложением.

Я нашел следующий код, я уверен, что он работает, но не уверен, как добавить pin в этот код?

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()); } } 

Кто-нибудь знает, как вводить PIN-код в код выше или любой аналогичный код для решения проблемы .. Спасибо

Как я могу избежать или отклонить уведомление Bluetooth о спаме Android, когда я занимаюсь программным спариванием?

Это, кажется, дает вам ответ, с вводом штифта и всем. Это связано с отправкой .setPin () всякий раз, когда вы получаете сообщение.

Итак, у меня был этот вопрос, если кому-то нужен ответ на это, работая в android 4.4.2.

  IntentFilter filter = new IntentFilter( "android.bluetooth.device.action.PAIRING_REQUEST"); /* * Registering a new BTBroadcast receiver from the Main Activity context * with pairing request event */ registerReceiver( new PairingRequest(), filter); 

И код для получателя.

  public static class PairingRequest extends BroadcastReceiver { public PairingRequest() { super(); } @Override public void onReceive(Context context, Intent intent) { if (intent.getAction().equals("android.bluetooth.device.action.PAIRING_REQUEST")) { try { BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE); int pin=intent.getIntExtra("android.bluetooth.device.extra.PAIRING_KEY", 0); //the pin in case you need to accept for an specific pin Log.d("PIN", " " + intent.getIntExtra("android.bluetooth.device.extra.PAIRING_KEY",0)); //maybe you look for a name or address Log.d("Bonded", device.getName()); byte[] pinBytes; pinBytes = (""+pin).getBytes("UTF-8"); device.setPin(pinBytes); //setPairing confirmation if neeeded device.setPairingConfirmation(true); } catch (Exception e) { e.printStackTrace(); } } } } 

И в файле манифеста.

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

И радиопередатчик.

  <receiver android:name=".MainActivity$PairingRequest"> <intent-filter> <action android:name="android.bluetooth.device.action.PAIRING_REQUEST" /> <action android:name="android.bluetooth.device.action.PAIRING_CANCEL" /> </intent-filter> </receiver> 

Попробуйте этот код:

 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); context.startActivity(intent); } Intent intent = new Intent(BluetoothDevice.ACTION_PAIRING_REQUEST); intent.putExtra(EXTRA_DEVICE, device); int PAIRING_VARIANT_PIN = 272; intent.putExtra(BluetoothDevice.EXTRA_PAIRING_VARIANT, PAIRING_VARIANT_PIN); sendBroadcast(intent); Intent intent = new Intent(Settings.ACTION_BLUETOOTH_SETTINGS); startActivityForResult(intent, REQUEST_PAIR_DEVICE); 

надеюсь, это поможет

Ссылка: http://pastebin.com/N8dR4Aa1

Попробуй это,

 BluetoothDevice device = intent.getParcelableExtra("android.bluetooth.device.extra.DEVICE"); device.getClass().getMethod("setPairingConfirmation", boolean.class).invoke(device, true); device.getClass().getMethod("cancelPairingUserInput", boolean.class).invoke(device); 
Intereting Posts
Android Studio 0.4. + Настраиваемое хранилище отладки Как сделать Pager Sliding Tab Strip с двумя категориями, одинаково подходящими для экрана Android? Использование Xtend для разработки Android (снова) Пейзаж предварительный просмотр макета android xml в Eclipse Кордова Angular Get to Web Api Connection отказано Соединение Bluetooth между Android и другим телефоном через профиль Handsfree Как получить индекс определенного вида OR ViewGroup, который добавлен в ViewGroup (макет) Как отобразить страницу контента Html с помощью веб-браузера в Android? Как получить данные предварительного просмотра камеры Android? Есть ли способ обнаружить, что приложение было остановлено на Android Утечка утечки LeakCanary в InputMethodManager Сделайте прозрачный фон значков android в eclipse PhoneGap + jQueryMobile: кнопка Android назад закрывает приложение во вложенном списке Насколько безопасна защита от обратной инженерии? Событие триггера при нажатии кнопки на Android