Android автоматическое включение при зарядке

Android автоматическое включение при зарядке

Автоматическое включение телефона при подаче питания

В теме нет куратора. По вопросам наполнения шапки, обращайтесь к модераторам раздела через кнопку под сообщениями, на которые необходимо добавить ссылки.

Сообщение отредактировал derak1129 — 16.11.21, 17:38

Для начала идите в тему своего девайса и узнайте, как, в случае чего, восстанавливать аппарат.

P.S. А для включения по подаче питания, варианты такие:
1) емнип, можно собрать новое ядро, что совсем не тривиальная задача.
2) девайсы на процессоре RockChip (RK3066, RK3188. ) включаются так «из коробки».
3) реле, которое «нажмёт кнопку» при подаче питания.

Сообщение отредактировал lunjan — 06.07.15, 17:31

Спасибо за ответ.

можно поподробнее: 2) девайсы на процессоре RockChip (RK3066, RK3188. ) включаются так «из коробки».
что означает: включается «из коробки»?

Проверил на выключенном устройстве, при подаче энергии высвечивается ЛОГОТИП DNS, потом показывается индикатор заряда. Полноценного включения не происходит.

остается надежда (то что возможно я смогу сделать сам) найти файлик «загрузчика» который запускает появлении ЛОГОТИПА и в него добавить строку на полное включение смартфона.

можешь подсказать программку для редактирования системных файлов андроида.

Самому не удалось найти файлик в котором можно внести изменения для автоматического включения смартфона.

буду благодарен за помощь, огромное спасибо.

а что на счет вот этого варианта?
2) девайсы на процессоре RockChip (RK3066, RK3188. ) включаются так «из коробки».

Проверил на выключенном устройстве, при подаче энергии высвечивается ЛОГОТИП DNS, потом показывается индикатор заряда. Полноценного включения не происходит.

может я чтот неверно делаю?

lunjan,
Если еще актуально:

adb reboot bootloader

Планшет Samsung galaxy tab s t-705, прошивка на базе СМ 12.1 — Pak-man 5.1.1. Из того, что смог найти, получается, что включение при зарядке делается в рамдиске, там есть файл healthd, в нем заложен код включения анимации батареи при зарядке, и если его подправить (по типу — android_reboot(ANDROID_RB_RESTART, 0, 0);, то планшет при зарядке будет автоматом загружаться.

boot.img распаковать смог, есть папка рамдиск, в ней sbin и тут лежит healthd. Подскажите пожалуйста, как (чем) этот файл отредактировать? Сам файл распаковывается зипом, там есть файл .rodata, вот в нем и лежит весть код анимации батареи

1. Как отредактировать и собрать healthd? Подскажите, в какую хоть сторону гуглить?

ПС — в папке рамдиск, в корне, есть еще один файл, charger. В нем код прочитать блокнотом не получается, блокнот пишет вот что

2. Может этот файл достаточно подправить, по типу того что смог найти в нете
#!/system/bin/sh
/system/bin/reboot

Сообщение отредактировал БелыйТезис — 23.02.16, 01:12

Плюсую, тоже интересует возможность включения телефона при подключении зарядки.

Всё таки решил вопрос с автоматическим включением Samsung galaxy tab s 8.4 Т-705, на кастомной прошивке на базе СМ 12.1 — Pak-man 5.1.1. Думаю на любом Самсунг с Cyanogen mod будет работать. Делов на 20минут, великих знаний програмирования не требуется, постараюсь изложить всё по полкам.

ПРЕЖДЕ ВСЕГО ДЕЛАЕМ ПОЛНЫЙ БЕКАП. У меня в процессе эксперементов было столько неудач, что без бекапа можно было с ума сойти заного систему переустанавливать!

Читайте также:  Стрим чат для андроид

Что потребуется:
На компе.
1. Программа Android Image Kitchen (найти на 4PDA).
2.Notepad++.
3.Total Comander.
4. 7zip

На телефоне/планшете
1.Total Comander.

Действия на компе:
1. Скачиваем кастомную прошивку CM, распаковываем ее с помощью архиватора 7zip. В распакованной папке ищем фаил boot.img. Копируем его в отдельную папку. Папку лучше переименовать к примеру CM Boot.

2. Скачиваем Официальную прошивку Самсунг, распаковываем ее с помощью архиватора 7zip. В распакованной папке ищем фаил boot.img. Копируем его в отдельную папку. Папку лучше переименовать к примеру Samsung Boot.

3. Копируем из папки Samsung Boot файл boot.img в папку с установленной програмой Android Image Kitchen. В Открытой папке Android Image Kitchen, хватаем мышкой boot.img и перетаскиваем его прямо на иконку unpackimg.bat, жмем что предлагает программа. Ядро распаковали, нас интересует появившаяся папка ramdisk, в ней файл init.universal5420.rc. Открываем его с помощью блокнота++ и ищем строку # LPM. Вот эту строку и всё что под ней (относящееся к ней, т.е. от знака # LPM и до следующего знака #. нужно скопировать. В моем случае это вот такие строки:

# LPM
on property:ro.bootmode=charger
mount ext4 /dev/block/mmcblk0p18 /system wait ro

on property:ro.bootmode=charger
wait /dev/block/platform/dw_mmc.0/by-name/EFS
check_fs /dev/block/platform/dw_mmc.0/by-name/EFS ext4
mount ext4 /dev/block/platform/dw_mmc.0/by-name/EFS /efs nosuid nodev noatime noauto_da_alloc,discard,journal_async_commit

on property:ro.bootmode=charger
class_start sec-charger

service playlpm /system/bin/lpm
class sec-charger
critical

4. После того, как скопировали в буфер обмена вышеуказанные строки, папку ramdisk и файл boot.img нужно удалить из папки с программой Android Image Kitchen.

5. Копируем ядро boot.img на которое будем делать загрузку при зарядке, в нашем случае из папки CM Boot файл boot.img в папку с установленной програмой Android Image Kitchen. В Открытой папке Android Image Kitchen, хватаем мышкой boot.img и перетаскиваем его прямо на иконку unpackimg.bat, жмем что предлагает программа. Ядро распаковали, нас интересует появившаяся папка ramdisk, в ней файл init.universal5420.rc. Открываем его с помощью блокнота++ и ищем строку # LPM. В моем случае это были вот такие строки:

# EHCI runtime enable for LPA
write /sys/devices/platform/s5p-ehci/power/control auto

mkdir /data/log 0777
chmod 0666 /dev/log/radio
chmod 0666 /dev/log/main
chmod 0666 /dev/log/event

ifup lo
hostname localhost
domainname localdomain

service charger /sbin/healthd -c
class charger
critical
seclabel u:r:healthd:s0

Вот теперь, нужно подменить все строки касающиеся # LPM на то, что мы скопировали из Самсунговского ядра. Сохраняем.

6. Жмем на иконку repackimg.bat и видим появление нового ядра image-new.img. Ядро копируем на телефон/планшет, его будем ставить через рекавери. На всякий случай, нужно скопировать и нормальное не правленное ядро boot.img на случаё если девайс не загрузится.

7. Идем в Тотал Командр на телефоне/планшете по пути system/bin. Копируем от туда любой файл (желательно не большой, а то там есть такие файлы что фиг отредактируешь. Скопированный файл переименовываем на lpm. Всё в нем удаляем и пишем следующие строки:
#!/system/bin/sh
/system/bin/reboot

8. Копируем файл lpm по пути system/bin, ставим разрешения 755.

9. Устанавливаем новое ядро через рекавери. Проверяем. С начала просто после установки перезагружаемся, если загрузились, то пробуем выключать девайс и подключать зарядку. Если нет, то идем в рекавери и ставим заранее скопированное «оригинальное» ядро.

Читайте также:  Кодеки для блютуз наушников для андроид

ПС — возможно, не у всех будут в точности совпадать строки и даже файлы. В таком случае ищем поиском по всем файлам в рамдиске слово lpm или playlpm и подменяем. Думаю смысл понятен.

Сообщение отредактировал БелыйТезис — 03.04.16, 23:47

Автоматическое включение при подключении зарядки Asus ZenPad 8 (Z380KL) с прошивкой Cyanogen Mod 13

Расписывать досконально не буду, только основное. «Как и что» смотрим в предыдущем сообщении.
1.Распаковываем ядро СМ13
2.Открываем в рамдиске Notepad++ файл init.qcom.rc
3.Ищем и удаляем строки:

on property:ro.bootmode=charger
class_start sec-charger

service playlpm /system/bin/reboot
class sec-charger
critical

Сообщение отредактировал БелыйТезис — 18.04.16, 18:28

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

Способ нашел. Не нужно создавать никаких дополнительных файлов lpm, ссылаться в ядре можно на файл system/bin/reboot. Этот файл есть в прошивке по дефолту. Всё работает, при подключении зарядки планшет включается. Инструкцию подправил.

Сообщение отредактировал БелыйТезис — 18.04.16, 18:29

Файл lpm можно обозвать как угодно(естественно изменив название в ядре)?

Сообщение отредактировал sandr2010 — 17.04.16, 09:13

sandr2010,
Да, всё верно. И всё просто, получается делаю ссылку на файл lpm который создаю в system/bin, или на любой файл который там есть. Это может быть любой созданный файл xxxx.

Сообщение отредактировал БелыйТезис — 17.04.16, 11:56

БелыйТезис,
Хм,тогда,возможно,в /system/bin/ есть файлик charger — если в нем внести сразу эти изменения + сделать задержку секунд на 5-10(на всякий случай),то по идее должно сработать,без ковыряния ядра.

Сообщение отредактировал sandr2010 — 17.04.16, 13:56

mogolev, сложно ответить почему так получается. Как вариант проверить заного всё, что заменили и создали. lpm должен быть прописан маленькими буквами в коде и название самого файла. Но мой скромный опыт подсказывает, что перезагружается в TWRP из за неправильной упаковки ядра, у меня так было когда использовал какой то из запаковщиков. А лучше пробуйте ядро ниже, я нашел более легкий способ реализации включения (инструкцию подправил).

Вот ядро для Asus ZenPad 8 (Z380KL) с прошивкой Cyanogen Mod 13 Номер сборки Thu Apr 7 10:56:29 MSK 2016. Ставить через TWRP и никаких дополнительных файлов lpm создавать не нужно. Предварительно сохранить рабочее ядро на случай если что то пойдет не так.

Отпишитесь плиз по работоспособности.

Сообщение отредактировал БелыйТезис — 18.04.16, 18:38

Источник

Android автоматическое включение при зарядке

Сразу оговорюсь: первая часть (автовключение) темы не относится к андроидбоксам, на них, в виду отсутствия батареи, автовключение можно реализовать только аппаратно, или покупать такой, который включается при подаче питания.

Итак, суть вопроса: включить (полная загрузка) планшет/смартфон в момент подачи зарядного тока, и отключение при отключении от зарядки (важно для встроенных планшетов).


Немного теории.
Когда вы подключаете выключенный планшет/смартфон к ЗУ, происходят следующие события: просыпается процессор; происходит инициализация бутлоадера; происходит начало загрузки init; стартует главный стартовый скрипт /init.rc; в init.rc есть секция on charger, в которой прописаны нужные действия и запуск системного процесса, который и отвечает за отображение батарейки с процентами, которую мы и видим на экране.
Итак, как мы видим, происходит частичная загрузка системы. Процесс в секции on charger всегда указывает на какой-то исполняемый файл (бинарник) лежащий где-то в системе. Выглядит примерно это так:
В init.rc объявлен сервис типа charger: service charger /system/bin/charger

Читайте также:  Dr driving взлом андроид

То есть, порядок действий такой: смотрим секцию on charger в init.rc, видим там что-то типа start charger или что-то другое, типа class_start charger, могут быть и другие варианты; потом, по имени сервиса, находим в том же init.rc сам сервис service charger /. и смотрим на какой бинарник он указывает.
Нужно иметь в виду, что нужный сервис может быть объявлен не в init.rc, а в любом другом init.****.rc на вашем устройстве, придется пересмотреть все. Иногда существует даже отдельный скрипт init.charge.rc.

Ок. Бинарник мы нашли, переименовать во что-то другое, а под его именем создаем скрипт (без расширений, в точности как назывался сам бинарник) с таким содержимым:

Сохраняем и присваиваем ему права 755. Все. Аппарат будет включатся и ребутится в андроид сразу после подачи напряжения.

Тут еще можно добавить секцию, в которой можно описать автозапуск каких либо программ по умолчанию в авто. Хотелось бы узнать каких? И по какому условию (как определить, что ваш аппарат находится именно в машине, вариантом может быть подключение какого-то оборудования, ГПС например, или запуск какой-то программы, любые другие события, придумайте), попробую реализовать?

Тут есть несколько вариантов реализации, к примеру можно в своем бут включить поддержку скриптов init.d, добавив в конце init.rc (надо разбирать свой boot.img. Как это делать — смотрите на 4pda.ru в теме своего устройства, или обратитесь к РОМоделам. Часто эта функция уже присутствует в большинстве кастомных РОМов.) такие строки:

а в файл defaul.prop или /system/build.prop в самом низу дописать строку sys.initd=1
Аналогичным init.d образом работает папка со скриптами /system/su.d, если у вас рут на основе SuperSu. Тогда бут разбирать не надо.
В любом случае, в системе должен быть установлен busybox, иначе скрипты работать НЕ БУДУТ!

Итак, init.d, busybox у нас есть. Создаем скрипт с таким содержимым:

Помещаем его в папку /system/init.d или /system/su.d с любым названием и присваиваем ему права 755. Нужно помнить, что скрипту не нужно присваивать никакое расширение имени файла, в том числе и sh. Не выполняются в init.d скрипты, имеющие расширение имени файла. После перезагрузки, планшет будет выключаться автоматически, при пропадании напряжения зарядки. Скрипт безусловен, работает по умолчанию.

Ниже рассмотрим примеры условного выключения, и варианты самих условий. Хотелось бы от Вас услышать возможные условия автоматического выключения, например по наличию подключенной EasyCAP, DAC и тому подобное. Как Вы считаете нужным идентифицировать наличия подключения к машине, соответственно важность автоматического выключения? Жду советов, по возможности, попробую реализовать условия.

Источник

Оцените статью