Какова кодовая диаграмма / интерфейс при разработке программного обеспечения для RPI, функционирующего как головное устройство Android? - PullRequest
0 голосов
/ 14 июня 2019

Я нахожусь на начальных этапах создания головного устройства для устройств Android (точно так же, как OpenAuto, только на Java).После нескольких недель исследований и тестирования я готов начать работу, хотя я не уверен, как должен работать интерфейс.Я бы хотел, чтобы телефон работал точно так же, как если бы он был подключен к обычной Android Automotive OS.Придется ли мне использовать Android Studio для разработки под телефон?Или просто использовать библиотеки SDK для сборки автомобильной ОС?

Это просто забавный проект, над которым я хочу работать.Есть много более простых альтернатив, таких как использование OpenAuto, но я бы хотел написать свой собственный OpenAuto, если это имеет смысл.Я ознакомился с библиотеками libusb и Android SDK, прочитав документацию, а также скопировав и протестировав предоставленные примеры.Недавно я понял, что просто не уверен в том, что должно произойти - я не знаю, должен ли я: 1. Запустить Android Auto каким-либо образом из системы RPI / Linux, а затем просто обработать все на стороне программного обеспечения RPI.или 2. Кодируйте автомобильную ОС, которая обрабатывает все без необходимости Android Auto, или 3. Используйте Android Studio вообще.

private static final String ACTION_USB_PERMISSION =
    "com.android.example.USB_PERMISSION";
private final BroadcastReceiver usbReceiver = new BroadcastReceiver() {

    public void onReceive(Context context, Intent intent) {
        String action = intent.getAction();
        if (ACTION_USB_PERMISSION.equals(action)) {
            synchronized (this) {
                UsbAccessory accessory = (UsbAccessory) intent.getParcelableExtra(UsbManager.EXTRA_ACCESSORY);

                if (intent.getBooleanExtra(UsbManager.EXTRA_PERMISSION_GRANTED, false)) {
                    if(accessory != null){
                        //call method to set up accessory communication
                    }
                }
                else {
                    Log.d(TAG, "permission denied for accessory " + accessory);
                }
            }
        }
    }
//This is the example code of a declaration of a broadcast receiver in Java in Android Studio. Am I on the right track in using and adapting this code?

В конце концов, я бы хотел программное обеспечение в системе Linux, которое распознает, когдаУстройство Android подключено, устройство запускается в режиме аксессуаров, а затем настраивает отображение головного устройства, например, интерфейса для воспроизведения из музыкальных приложений, использования карт и т. д. Хотя я не уверен, что это правильный путь.Спасибо за любую помощь!

...