2 votos

Ejecutar el shell script en proceso de fondo no importa lo que la actividad en primer plano?

Tengo un script de shell que se ve es el siguiente:

# /mnt/sdcard/touch.sh
sleep 10

while [ 1 ]; do
    input swipe 700 380 1020 600 1000
    input tap 960 540
    input swipe 1220 700 900 480 1000
    input tap 960 540
    input swipe 1220 700 900 480 1000
    input tap 960 540
    input swipe 700 380 1020 600 1000
    input tap 960 540
done

Si puedo ejecutarlo desde la Terminal IDE (un emulador de terminal), sólo funciona mientras Terminal IDE está en el primer plano, así que pensé en hacer una aplicación para ejecutarla y que siga funcionando en segundo plano. Aquí es lo que tengo ahora:

package com.mycompany.myapp;

import android.app.*;
import android.os.*;
import android.view.*;
import android.widget.*;
import java.io.*;

public class MainActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        try {
            // RIGHT HERE. WHY DOES NOTHING HAPPEN?
            Runtime.getRuntime().exec(new String[]{"/system/bin/sh", "/mnt/sdcard/touch.sh", });
        }
        catch (IOException e) {/*...*/}
    }
}

Pero no hacer nada.

Así que, ¿cómo iba yo a la ejecución de este, a continuación, salir corriendo en segundo plano, por lo que las tomas y golpes de suceder, mientras que otra aplicación está en segundo plano? Usted consigue la idea. :D

3voto

trusktr Puntos 215

Se trabajó solo por hacer sh /mnt/sdcard/touch.sh & después de haber comenzado un shell con adb shell. Entonces, cuando cerré la terminal de la fuerza mientras que el proceso estaba en el fondo, el proceso siguió corriendo en el fondo de mi teléfono como se esperaba. Yo era capaz de matar el proceso más tarde por llegar con adb shell el uso de ps para encontrar el ID de proceso y kill -s KILL <ID> a matar.

Básicamente, resulta que yo no tenía que hacer una aplicación para Android sólo para hacer mi script se ejecute en segundo plano. Enfrentamiento en...

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: