Скрыть диалоговое окно привязки для пользователя при программной установке PIN-кода - не работает для Huawei - PullRequest
0 голосов
/ 09 июля 2020

поэтому я поискал решения, которые я придумал с этим фрагментом кода:

private void registerBondingBroadcastReceivers() {
    final IntentFilter pairingRequestFilter = new IntentFilter(BluetoothDevice.ACTION_PAIRING_REQUEST);
    pairingRequestFilter.setPriority(IntentFilter.SYSTEM_HIGH_PRIORITY - 1);

    context.registerReceiver(pairingRequestBroadcastReceiver, pairingRequestFilter);
}

private final BroadcastReceiver pairingRequestBroadcastReceiver = new BroadcastReceiver() {
    @Override
    public void onReceive(final Context context, final Intent intent) {
        final int variant = intent.getIntExtra(BluetoothDevice.EXTRA_PAIRING_VARIANT, BluetoothDevice.ERROR);

        if (variant == PAIRING_VARIANT_PIN) {
            String pin = "141231"
            if (pin != null) {
                boolean pinSet = device.setPin(pin.getBytes());
                abortBroadcast();
            }
        }
    }
};

Итак, это отлично работает для Samsung S9, Android 10, однако, если я использую телефон Huawei, связывание всегда не удается методом пин-кода. Есть ли способ решить эту проблему?

1 Ответ

0 голосов
/ 20 июля 2020

Вы можете либо связаться с Huawei и попросить их исправить это, либо занести устройства Huawei в черный список из своего приложения. AFAIK, это ошибка платформы, и только Huawei может ее исправить (спасибо за блокировку наших загрузчиков ...)

...