#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. Спасибо вам за ответ! Я проверю это и вернусь с ответом, поможет ли это.