Как обеспечить питание с Android на внешнее устройство?

#android #permissions #command #hardware

#Android #разрешения #команда #аппаратное обеспечение

Вопрос:

У меня есть устройство Android 8.0 на базе Snapdragon 626, которое не имеет root. В документации моего устройства есть информация, что если я использую команду:

 /sys/class/ext_dev/function/ext_dev_5v_enable
 

с выходом 1 я должен иметь возможность включить выход питания 5 В на выделенном аппаратном порту моего устройства. Если я использую вывод 0 , я должен быть в состоянии отключить его.

Аналогичная команда

 /sys/class/ext_dev/function/ext_dev_3v3_enable
 

можно сделать то же самое для выходной мощности 3,3 В.

Оба порта питания по умолчанию отключены.

Я вставляю вышеуказанные команды в консоль на Android и получаю исключение «не найдено»:

введите описание изображения здесь

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

О каком разрешении я должен попросить Android получить доступ к этим портам, используя вышеуказанные команды? Может быть, что-то еще вызывает эту проблему?

Комментарии:

1. Вам необходимо указать точное устройство (марку и модель), которое вы используете, поскольку это, вероятно, очень специфично для этого устройства Android,

2. Я обновил основной пост с подробной информацией о моем устройстве и ссылкой на страницу продукта производителя.

Ответ №1:

Существует очень мало подробностей о разъемах Pogo pin, которые есть у этого устройства, НО они очень похожи на аналогичные устройства, которые содержат больше деталей с кодом, например https://www.handheldgroup.com/knowledge-base/algiz-rt8-back-docking-connector /

Глядя на JNI библиотеки, они выглядят как файлоподобные устройства, А НЕ скрипты для запуска.

Вы можете попытаться подтвердить, что они являются файлоподобными устройствами, перечислив их, например
ls -la /sys/class/ext_dev/function/ или file /sys/class/ext_dev/function/ext_dev_5v_enable

Итак, чтобы воспроизвести, как библиотека JNI использует устройства такого типа из командной строки, как вы бы делали в Linux (на чем основан Android)

Чтобы запись была включена
echo 1 > /sys/class/ext_dev/function/ext_dev_5v_enable

Для считывания значения
cat /sys/class/ext_dev/function/ext_dev_5v_enable

Обратите внимание, что у меня нет опыта работы с этими конкретными устройствами, поэтому нет никаких гарантий, что это сработает.

Комментарии:

1. Спасибо вам за ответ! Я проверю это и вернусь с ответом, поможет ли это.