Как получить разрешение BLUETOOTH_PRIVILEGED для автоматического сопряжения устройства в маршрутизируемом устройстве, не помещая его в системное приложение? - PullRequest
1 голос
/ 10 апреля 2019

Мне нужно разрешение BLUETOOTH PRIVILEGED для устройства с автопаром

Как получить разрешение BLUETOOTH_PRIVILEGED для устройства с автопаром на повернутом устройстве не помещая это в системное приложение?

Я пытаюсь программно выполнить автоматическое восстановление с помощью одного устройства, которое уже отображено в ListView, без отображения «Диалога пары»

IntentFilter filter = new IntentFilter("android.bluetooth.device.action.PAIRING_REQUEST");
        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);
                device.setPairingConfirmation(true);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
}

но после вызова device.setPairingConfirmation(true); происходит исключение с этой ошибкой java.lang.SecurityException: Need BLUETOOTH PRIVILEGED permission: Neither user 10069 nor current process has android.permission.BLUETOOTH_PRIVILEGED.

Я выполнил поиск, и все предложения заключались в том, чтобы поместить приложение в систему / приложение, но я не могу его туда поместить, потому что в будущем мне нужно будет сделать обновления.

Мое устройство, которое я использую, рутировано, и приложение находится в пути «данные / приложение»

Любое предложение поможет. Большое спасибо!

...