2013-07-13 4 views
0

В настольных приложениях Java я смог перезапустить свое приложение Java самостоятельно с некоторыми сценариями, которые не нужно компилировать, например (так что удаленно мы можем добавить некоторые дополнительные данные на нем):Android - как перезапустить приложения, которые запускаются самостоятельно, и их нужно перезапустить самостоятельно?

Рабочий стол: restartme.sh применение

#!/bin/bash 
export DISPLAY=:0.0 
pkill java 
java -cp SystemV.jar Main.Boot 0x01 & 
# on the fly add new stuffs depending on the situations.. 
iperf -s -p 65000 & 
convert -size 800x600 xc:transparent -font Bookman-DemiItalic -pointsize 50 -draw "text 25,90 ' inactive.'" -channel RGBA -blur 0x6 -fill steelblue -stroke white -draw "text 10,90 ' inactive.'" -antialias /var/www/html/video/now.jpeg; 
x11vnc -forever -passwd x1x & 

Desktop:

system("/var/tmp/restartme.sh &"); 

    public static String system(String cmds) { 
    String value = ""; 
    try { 
     String cmd[] = { "/bin/sh", "-c", cmds}; 
     Process p = Runtime.getRuntime().exec(cmd); 
     p.waitFor(); 
     BufferedReader reader = new BufferedReader(new InputStreamReader(p.getInputStream())); 
     String line = reader.readLine(); 
     while (line != null) { 
     value += line + "\n\r"; 
     line = reader.readLine(); 
     } 
    } 
    catch (IOException ioe) { 
     ioe.printStackTrace(); 
    } 
    catch (InterruptedException ie) { 
     ie.printStackTrace(); 
    } 
    return value; 
    } 

Как перезапустить в Android, как Desktop? Могу ли я использовать BASH по умолчанию или другие стандартные встроенные скрипты для Android? Или есть какой-то другой способ «летать», чтобы выполнить некоторые не скомпилированные скрипты, которые нужно выполнить?

ответ

1

В зависимости от типа задачи, которую вы хотите запустить. AFAIK вы не можете заставить свою деятельность вернуться в полноэкранный режим на определенном условии, хотя пользователь оставил ее (и это также будет раздражать меня как пользователя). Если вам нужно снова получить фоновый процесс после того, как, например, перезагрузка системы, чтение в системе обмена сообщениями в Android (Intent (class)/Intent (Docu)). Вы можете зарегистрировать определенное сообщение о системных событиях, а в вашем коде обработчика - например, например. который выполняет некоторые фоновые работы.
Вы можете посмотреть на this для практического примера.

A Bash-Script вроде подхода не существует, afaik.

Смежные вопросы