Estoy trabajando con una tableta china que debe inicializarse cada vez que se conecta a una fuente de alimentación.
Estoy usando Tasker para hacerlo. El problema es: esta condición hace que tasker ejecute el reboot
comando una y otra vez, y se convierte en un bootloop .
¿Qué debo hacer para inicializar la tableta cuando se conecta una fuente de alimentación, pero evitar que ingrese al bootloop ?
Editar: TaskerProfile
<TaskerData sr="" dvi="1" tv="4.6u3">
<Profile sr="prof2" ve="2">
<cdate>1431370575080</cdate>
<edate>1431372456863</edate>
<id>2</id>
<mid0>4</mid0>
<State sr="con0" ve="2">
<code>10</code>
<pin>true</pin>
<Int sr="arg0" val="1"/>
</State>
</Profile>
<Profile sr="prof5" ve="2">
<cdate>1431370730220</cdate>
<edate>1431371684461</edate>
<flags>2</flags>
<id>5</id>
<mid0>6</mid0>
<State sr="con0" ve="2">
<code>10</code>
<Int sr="arg0" val="1"/>
</State>
</Profile>
<Project sr="proj0" ve="2">
<cdate>1431027887676</cdate>
<mdate>1431371133517</mdate>
<name>Base</name>
<pids>2,5</pids>
<tids>4,6,7</tids>
<Img sr="icon" ve="2">
<nme>hl_aaa_ext_home</nme>
</Img>
</Project>
<Task sr="task4">
<cdate>1431370589904</cdate>
<edate>1431372085383</edate>
<id>4</id>
<nme>Task1</nme>
<pri>10</pri>
<Action sr="act0" ve="7">
<code>410</code>
<Str sr="arg0" ve="3">Documents/sdcard.txt</Str>
<Str sr="arg1" ve="3">0</Str>
<Int sr="arg2" val="0"/>
<Int sr="arg3" val="0"/>
</Action>
</Task>
<Task sr="task6">
<cdate>1431370741046</cdate>
<edate>1431372415674</edate>
<id>6</id>
<nme>Task2</nme>
<pri>10</pri>
<Action sr="act0" ve="7">
<code>417</code>
<Str sr="arg0" ve="3">Documents/sdcard.txt</Str>
<Str sr="arg1" ve="3">%True</Str>
</Action>
<Action sr="act1" ve="7">
<code>410</code>
<Str sr="arg0" ve="3">Documents/sdcard.txt</Str>
<Str sr="arg1" ve="3">1</Str>
<Int sr="arg2" val="0"/>
<Int sr="arg3" val="0"/>
<ConditionList sr="if">
<Condition sr="c0" ve="3">
<lhs>%True</lhs>
<op>2</op>
<rhs>0</rhs>
</Condition>
</ConditionList>
</Action>
</Task>
<Task sr="task7">
<cdate>1431371028431</cdate>
<edate>1431372348654</edate>
<id>7</id>
<nme>runshell</nme>
<pri>10</pri>
<Action sr="act0" ve="7">
<code>123</code>
<Str sr="arg0" ve="3">reboot</Str>
<Int sr="arg1" val="0"/>
<Int sr="arg2" val="1"/>
<Str sr="arg3" ve="3"/>
<Str sr="arg4" ve="3"/>
<Str sr="arg5" ve="3"/>
<ConditionList sr="if">
<Condition sr="c0" ve="3">
<lhs>%True</lhs>
<op>2</op>
<rhs>0</rhs>
</Condition>
</ConditionList>
</Action>
</Task>
</TaskerData>
Si entendí la pregunta correctamente, desea conectar el dispositivo a una fuente de alimentación que activa Tasker para reiniciar el dispositivo (para la inicialización). Pero cuando el dispositivo se reinicia, Tasker descubre que la fuente de alimentación está conectada, por lo que repite la tarea nuevamente. Su objetivo es hacer que Tasker se reinicie solo una vez mientras la fuente de alimentación permanece conectada. Si la fuente debe eliminarse y volver a insertarse, Tasker debe reiniciar nuevamente solo una vez.
Basado en este entendimiento, propuse la siguiente solución:
La solución es muy trivial. Estoy usando dos perfiles en Tasker , a saber:
Estos dos perfiles, como es obvio, se activarán al conectar/desconectar la fuente de alimentación del dispositivo Android. Estoy usando el contenido de un archivo como condición aquí para restringir el ciclo de arranque.
Nota: Para esta respuesta, elegí mi fuente de alimentación solo como USB.
En cuanto al contenido del archivo:
sdcard.txt
. /sdcard
La ubicación de este archivo es /sdcard/sdcard.txt
.)0
. (Utilicé el editor de texto 920 ).0
solamente. Se utilizará en una declaración condicional solamente. Tiene la libertad de probar con otro número.Con respecto a los perfiles y tareas en la aplicación Tasker :
+
→ Estado → Energía → Energía .+
→ Archivo → Escribir archivo ./sdcard/sdcard.txt
.0
en el campo Texto .+
→ Archivo → Leer archivo .%True
: puede cambiar %True
a cualquier otro nombre. Asegúrese de poner en mayúscula al menos una letra de su variable para que no sea local. Mira esto para saber más.1
en el campo Texto .+
correspondiente a Si . Agregar %True
y 0
en campos respectivamente. Debería verse como %True
~
0
.+
→ Código → Ejecutar Shell .reboot
bajo Comando . (Mi dispositivo está rooteado, por lo que proporcioné permisos de root para este paso para evitar problemas). Como opción de reinicio suave, puede usar killall zygote
en lugar de reboot
.Estamos listos para irnos.
Estado: Objetivo Completado . ¡Hecho!
Machado
Señor del Fuego
Machado
Machado
Señor del Fuego
Machado
Señor del Fuego
Machado
Settings
(en la esquina derecha) ->Data
->Share
. Luego podrá ingresar a un TextEditor un archivo similar al que acabo de publicar como una edición.Machado
Señor del Fuego
Machado