Подскажите, пож, можно ли в Андроиде не имея рута делать запуск зависимых задач?
Пример: я хочу нажав один ярлык запустить сначала программу А, когда она отработает, программу Б, и когда отработает она — закрыть обе две.
Что-то типа скриптов.
Реализуемо ли такое? Важный момент — без рутования машины.
В качестве бонуса, если без рутования не обойтись, то хрен с ним, подскажите как действовать в этом случае?
В недостижимом идеале у меня вот какая последовательность:
— нажать ярлык
— включить GPS
— запустить программу, которая быстро определяет спутники (A-GPS)
— запустить программу, которая определяет координаты и пишет их и еще немного информации в специализированную базу (сторонняя, купленная поделка, от которой не отказаться. Интеграторы-с..)
Мне представляется решение в виде отдельной утилиты, которая внутри себя поочерёдно запускает нужные activity.
НО
В в стоковой прошивке Android (даже рутованной) не всё можно выполнять автоматически. Например, Вкл/Выкл GPS программно нельзя, можно только показать пользователю окно настроек. Вот тут будет заминка.
Я, честно говоря, думал что можно поставит какой-нибудь интерпретатор, а то и без него, и писать простые скриптики самостоятельно, Linux это или нет, в конце концов… :)
Ну раз отдельная утилита- путь так. Можно пример?
Вот так запустить приложение «изнутри» своего приложения:
Intent i = new Intent(Intent.ACTION_MAIN);
PackageManager manager = getPackageManager();
i = manager.getLaunchIntentForPackage("app package name");
i.addCategory(Intent.CATEGORY_LAUNCHER);
startActivity(i);
где «app package name» — полное имя пакета приложения. Его можно достать из файла AndroidManifest.xml. А может и ещё как-то.
Соответственно можно запустить несколько приложений «изнутри» своего приложения.
Этот код писать в главной activity вашей будущей утилиты. Под «утилитой» здесь понимается приложение на Android. А как писать приложения на андроид — это уже в двух словах не описать.