sanya84
@sanya84
Фанатик Python 3

Как запустить системное Андроид приложение?

Это код Python
import os
os.system("python")

Как на java под Андроид будет выглядеть аналог этого кода?
  • Вопрос задан
  • 400 просмотров
Решения вопроса 1
thelongrunsmoke
@thelongrunsmoke
Программист
Между запуском приложений и команд шелла огромная разница.
Для приложения, надо знать пакет.
Intent launchIntent = getPackageManager().getLaunchIntentForPackage(<пакет>);
if (launchIntent != null) { // null если приложение не найдено или не имеет активити для запуска.
    startActivity(launchIntent);
}

А вот запустить что-то из шелла, без прав суперпользователя, непросто. Код будет примерно, такой.
try{
    Process su = Runtime.getRuntime().exec("su");
    DataOutputStream outputStream = new DataOutputStream(su.getOutputStream());
    outputStream.writeBytes("<команда>\n");
    outputStream.flush();
    outputStream.writeBytes("exit\n");
    outputStream.flush();
    su.waitFor();
}catch(IOException e){
    throw new Exception(e);
}catch(InterruptedException e){
    throw new Exception(e);
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы