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

Мне нужно использовать стороннее приложение в своем проекте(просмотр 3d моделей). Можно ли как то допустим при нажатии на кнопку в своем приложении открывать нужное мне приложение? Может как то программно запускать его исполняющий файл?

Отслеживать
задан 13 июн 2016 в 12:15
10.7k 17 17 золотых знаков 60 60 серебряных знаков 126 126 бронзовых знаков

Нет — недаром же система устроена как набор слабовзаимодействующих песочниц. Если приложение(какой-либо его компонент) «хочет», чтобы его запускали извне, оно явно об этом «говорит» в своем манифесте — какие интенты оно принимает. Да и на уровне Android вообще нет такого понятия как «исполняемый файл».

13 июн 2016 в 12:20

3 ответа 3

Сортировка: Сброс на вариант по умолчанию

самостоятельно Вы приложение пользователя не запустите, это должен сделать он сам,но реализовать диалог выбора приложений, которые могут обработать Ваш запрос вы можете при помощи неявного intent. Таким образом, сделать запрос на запуск стороннего приложения Вы сможете. Но важно, чтобы приложение,которое Вы хотите запустить явно уведомляло Андроид , посредством своего манифеста,о том, что его можно запускать из вне.

Как запустить Flutter приложение на реальном Android устройстве

Отслеживать
ответ дан 13 июн 2016 в 12:35
1,918 9 9 серебряных знаков 15 15 бронзовых знаков
А как я могу проверить есть ли это уведомление в его манифесте? У меня ж нет кода этого приложения.
13 июн 2016 в 12:49

можно воспользоваться методом queryIntentActivities(). Он Вам вернет список активити, которые могут обработать Ваш запрос.

Читайте также:
Что такое программа восьмого вида

Источник: ru.stackoverflow.com

Русские Блоги

Android запускает другое приложение в одном приложении

В Android необходимость запускать другое приложение из текущего приложения не очень распространено, но оно существует. Например, когда сокровище не так мощно, как сейчас, платеж должен запустить свое приложение. Другим примером является система кошелька Mi , И их финансовые приложения в некоторых компаниях взаимозависимы, и им нужно запускать друг друга.

Таким образом, необходимость запускать другое приложение из одного приложения по-прежнему имеет свою ценность.Поэтому вот как я резюмировал свою работу и изучил, как запустить другое приложение через одно приложение.

1. Запустите другое приложение через приложение.

String packageName = «com.android.calendar»; Intent intent = getPackageManager().getLaunchIntentForPackage(packageName); intent.putExtra(«type», true); startActivity(intent);

Приведенный выше код может выполнить бизнес-требования по запуску другого приложения из одного приложения. Здесь следует отметить, что нам нужно проверить, установлено ли приложение, которое нужно запустить. Если приложение не установлено, возникнет исключение NullPointException.

Как запустить приложение в песочнице на Android

Таким образом, виртуальная машина Android ищет метку под целевым приложением. android.intent.action.MAIN Деятельность начинается.

Вот два способа определить, установлено ли целевое приложение.

Intent intent = getPackageName().getLaunchIntentForPackage(packageName); if (intent == null) < // Считается, что намерение пустое, что указывает на то, что приложение не существует >

Метод второй:

PackageInfo packageInfo = getPackageManager(0.getPackageInfo(packageName, 0); if (packageInfo == null) < // Если packageInfo здесь null, приложение не существует >

2. Откройте другое приложение, указанное в Activity.

Intent intent = new Intent(); ComponentName componeneName = new ComponeneName(«com.android.calendar», «com.android.calendar.LaunchActivity»); intent.setComponent(componeneName); startActivity(intent);

  • Атрибут android: export = «true» целевого действия должен иметь значение true в AndroidMainfest соответствующего приложения, что означает, что к текущему действию разрешен доступ для внешних приложений, в противном случае будет сообщено об ошибке.
Читайте также:
Что стало с ведущим программы 100 к 1

Caused by: java.lang.SecurityException: Permission Denial: starting Intent < cmp=com.example.fm/.MainFragmentActivity (has extras) >from ProcessRecord (pid=11545, uid=10071) not exported from uid 10067

  • На устройствах до версии 5.0 жизненная целевая активность должна быть в текущем AndroidMainfest, в противном случае будет сообщаться ошибка; но на устройствах после 5.0 ошибка не будет сообщаться.

Caused by: android.content.ActivityNotFoundException: Unable to find explicit activity class ; have you declared this activity in your AndroidManifest.xml?

Источник: russianblogs.com

Можно ли запускать мобильное приложение из другого мобильного приложения?

Н.п. вызвать запуск приложения с указанием открыть конкретный товар или марку в запускаемом приложении.

Интересуют и iOS и Android.

  • Вопрос задан более трёх лет назад
  • 4253 просмотра

Комментировать
Решения вопроса 1

Flanker_4

в iOS это делается с помощью URL Sheme
Вы регистрируете протокол, который будет поддерживать приложение (ну к примеру myApp://) и дальше просите систему открыть url
myApp://host/path?query
Система смотрит, есть ли среди установленных приложений те , что поддерживают протокол myApp:// и пытается запустить это приложение.
Вот тут можно посмотреть список публичных url scheme для других приложений
wiki.akosma.com/IPhone_URL_Schemes
ну или погуглить другие списки. открывать можно хоть с браузера

Ответ написан более трёх лет назад
Нравится 3 3 комментария

vizique

Согласуется ли такой подход с правилами AppStore? Иными словами, при технической возможности открывать внешние приложения, пропустит ли такое приложение модераторы магазина?

Flanker_4

Да, это не только согласуется, но и единственный официальный способ запускать сторонние приложения до выхода iOS 8. А некоторые приложения (launchpad’о подобные) даже фичерились Apple в сторе. Единственная проблема — найти все url scheme для сторонних приложений. Разработчики не часто их публикуют в открытый доступ.

Источник: qna.habr.com

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru