1 votos

Detectar cuando una aplicación se bloquea con tasker y forzar su cierre y finalmente lanzarla de nuevo

En mi teléfono la aplicación Bluetooth Share se bloquea aleatoriamente. Con Tasker Quiero ser capaz de detectar ese choque, y luego forzar el cierre Bluetooth Share y finalmente lanzar Bluetooth Share de nuevo. (O vuelve a activar el Bluetooth)

PS: Ya tengo tasker y estoy rooteado en CM12.1.

Se agradece cualquier ayuda. Gracias.

1 votos

Podría haber intentado publicar una respuesta pero no tengo ninguna aplicación de este tipo que se cuelgue aleatoriamente. Sugeriría mirar el logcat para ver si el fallo tiene alguna información relacionada con la intención o la transmisión. Si el fallo no relanza la aplicación, entonces puedes tomar un poco de ayuda de esto responder (pista: mFocusedActivity)

0 votos

¿Podría Tasker Process Running (KC) permitir detectar cuándo se cierra la aplicación? play.google.com/store/apps/details?id=org.kc.tasker.processes

0 votos

@LJD200 esa aplicación sólo comprueba si una aplicación se está ejecutando o no, no puede detectar una caída de la aplicación.

2voto

Jesus Mogollon Puntos 111

Por desgracia, no es posible. Tasker no puede detectar una caída de la aplicación.

Sin embargo, aún podemos hacer algo al respecto.

Primero hagamos un perfil que haga el trabajo de matar. Se ejecutará cuando el bluetooth se apague.

  • Perfil (nombre): BTrern

    • Estado (Contexto): Estado de BlueTooth [ Estado:Apagado ] (El perfil se activa cuando el BT se apaga)
    • Tarea: (Puede dar un nombre a la tarea)

      • A1: Kill App [ App:Bluetooth Share Use Root:On ] (Haga clic en el + para añadir estas acciones)
      • A2: Espere [ MS:0 Segundos:5 Minutos:0 Horas:0 Días:0 ] (Espere 5 segundos)
      • A3 (opcional): [X] Lanzar la aplicación [ App:Bluetooth Share] (Si necesita lanzarla)
      • A4: Bluetooth [ Set:On ] (Activa el blutooth)`

Nota: Si matar incluso con Root no funciona (podría haber algún problema con su Tasker o Root), puede probar el siguiente comando de shell:

am force-stop packagename

Por ejemplo:

am force-stop com.google.android.apps.maps

O si eso no funciona:

  • pm disable
  • Espere 3 segundos
  • pm enable

Ahora, la siguiente pregunta es ¿cómo desactivar el Bluetooth sin ejecutar las instrucciones señaladas anteriormente?

Es muy sencillo. Haz otra tarea.

  • Estado del perfil: BTrern → Off
  • Espere 5 segundos
  • Bluetooth → Desactivado

Nombra esta tarea (como BTOFF) y haz un acceso directo a tu pantalla de inicio.

Ahora cada vez que quieras apagar tu BT utiliza este atajo.

Hagamos otra tarea que encienda el BT así como el BTrern

  • Bluetooth → ON
  • Espere 5 segundos
  • Estado del perfil → BTrern : ON

De nuevo, utilice los dos atajos de tareas anteriores para activar o desactivar la BT.

También puedes utilizar una escena o un widget para hacerlo aún más fácil una vez que hayas adquirido suficientes conocimientos con Tasker..


VIEJO


No entiendo muy bien a qué te refieres con compartir por Bluetooth, pero supongo que te refieres a la actividad abierta por Compartir → Bluetooth. Puede que una o dos fotos te ayuden.

En lugar de buscar una forma de evitarlo, primero intenta arreglarlo:

  • Utilizando una herramienta de registro como catlog . (Abra catlog → póngalo en Error, deje que se produzca el fallo y luego abra de nuevo catlog y guarde el registro).
  • Buscándolo. No has proporcionado ninguna información sobre tu modelo de Android, así que puede que tengas que hacerlo tú mismo.

En caso de que estos no funcionen, podemos utilizar Tasker. Creo que el fallo se producirá a los pocos segundos de abrir la actividad. Podemos usar esto a nuestro favor.

  • TRIGGER ON: (Cuando se abre la actividad Bluetooth Share)

    • Si (actividad de Bluetooth Share cerrada) AND (qtime < 5 seg)

      • inicio (actividad de Bluetooth Share)
    • si no (goto 1)`

Aquí, qtime es una variable local que almacena durante cuántos segundos se está ejecutando la tarea. Usted puede encontrar que en la sección de ayuda de Tasker.

También puede utilizar la ejecución de procesos de Tasker (KC) para el proceso requerido.

Segundo método:

En lugar de eso, es mucho más fácil hacer un Escena en lugar de eso.

  • Sólo hay que hacer una pequeña caja con un botón que ejecute la actividad. Que no sea intrusivo.
  • Escena 1:

    • Matar el proceso Bluetooth Share
    • Iniciar el proceso de Bluetooth Share
  • TRIGGER ON: (Cuando se abre la actividad Bluetooth Share)

    • Crear escena1

      • Si (se cierra la actividad de Bluetooth Share)

        • esperar 5 segundos
        • destruir escena1

Con esto, habrá una pequeña superposición al abrir Bluetooth Share. Si se bloquea, puedes ejecutar fácilmente tu comando de matar e iniciar. Y si no se bloquea, la escena se destruirá automáticamente después de 5 segundos.

Puede ser Transferencia de archivos por Bluetooth puede ayudar.

0 votos

Gran respuesta, sin embargo ''Bluetooth Share'' se bloquea aleatoriamente. Así que no cuando abro una actividad, comparto un archivo, etc. Voy a probar el logcat

0 votos

En pocas palabras, utiliza una Escena para forzar la parada y relanzar Bluetooth Share. Por cierto, ¿puede ser más claro lo que quiere decir con "Bluetooth Share"? Una imagen puede decir 1000 palabras.

0 votos

0voto

rebane2001 Puntos 19
  • Perfil contexto App: Bluetooth Share
  • Introducir tarea

    • A1: Stop
  • Tarea de salida

    • A1: Bluetooth Share

¿Es esto lo que quieres?

0 votos

¿No detecta eso sólo cuando el Bluetooth está apagado? Tal vez debería explicar mi razón por la que quiero detectar un choque. En mi teléfono el Bluetooth se bloquea aleatoriamente. Quiero que Tasker sea capaz de forzar la detención del Bluetooth y luego lanzarlo de nuevo. Quiero detectar un fallo porque si apago manualmente el Bluetooth se queda apagado y no se vuelve a encender. ¿Es esto lo suficientemente detallado?

0 votos

Entendido, podrías hacer que la regla sólo se active cuando el bluetooth esté encendido

0 votos

Pero aún así, si añades una regla si el Bluetooth está activado. Si apago el Bluetooth, también pasará la regla, ¿no?

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X