J'ai un script shell qui ressemble à ce qui suit :
# /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 je l'exécute à partir de Terminal IDE (un émulateur de terminal), il ne fonctionne que lorsque Terminal IDE est au premier plan. J'ai donc pensé créer une véritable application pour l'exécuter et la laisser tourner en arrière-plan. Voici ce que j'ai maintenant :
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) {/*...*/}
}
}
Mais ça ne fait rien.
Comment faire pour exécuter cette application, puis la laisser tourner en arrière-plan de façon à ce que les taps et les swipes se produisent pendant qu'une autre application est au premier plan ? Vous avez compris l'idée :D