Intereting Posts
Как отключить предупреждение стиля кода Android Studio «… можно упростить …» Поддерживает ли карты андроидов наземное наложение? Передняя камера делает очень темный захват в андроиде SetCompoundDrawablesWithIntrinsicBounds (int, int, int, int) не работает Показать большое изображение с SD-карты на Android Использование протокола DIAL в приложении для Android Asynctask doInBackgound () не работает, если уже запущена асинтеза ListView с Viewpager как заголовок внутри TabPageIndicator Как я могу назвать намерение в обратном обратном порядке? Как выполнить операцию щелчка по пользовательскому информационному окну маркера на google map V2 в android Как предотвратить пропущенный неиспользуемый класс аннотаций от сбоя моей программы? Можно ли ограничить или изменить андроидную иммерсивную (погруженно-липкую) область обнаружения салфетки режима? Как отключить воспроизведение видеофайлов при выходе из приложения Android Как изменить имя пакета приложения Android при сборке с Gradle? Перетаскивание повернутого текста внутри андроидального холста не работает должным образом

Android Запуск или запуск другого приложения через Intent

У меня проблемы с этим, чтобы работать, вот краткий обзор идеи.

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

Мой клиент предлагает набор приложений, идея состоит в том, что все приложения, входящие в комплект, будут запускаться из приложения «Dashboard», так что я покажу только приложение Dashboard в главной панели запуска, а не все иконки приложений.

Давайте рассмотрим две приложения, чтобы решить эту проблему. Приложение Dashboard (A) и Получающее приложение (B).

Я хочу установить фильтр намерений (я думаю) в приложении B, чтобы всякий раз, когда я заходил в приложение A и нажимал значок приложения B, приложение запускается или запускается с того места, где оно разрешено (выведено на передний план).

Возможно ли это? Если да, то как я могу это сделать? Мне удалось запустить его, специально включив одну из приложений в приложение, используя:

Intent i = new Intent(); i.setClassName("PACKAGE_NAME","SPECIFIC_CLASS"); startActivity(i); 

Но это не то поведение, которое я хочу, так как он всегда запускает приложение B в том же месте.

Thanx заранее, Стефано

Изменить: добавлена ​​новая информация. Я смотрел на DDMS.

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

 INFO/ActivityManager(1292): Starting activity: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.example.package/.uiPackage.Activity} 

Вот как это делает AnyCut

 Intent { act=android.intent.action.VIEW flg=0x10000000 cmp=com.example.package/.uiPackage.Activity bnds=[125,242][235,360]} 

Любая идея, как я мог бы создать такое же намерение? Я даже не могу найти этот флаг в API Intent.

Выяснил это, вот как я это сделал.

 Intent i = new Intent(); i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); i.setAction("android.intent.action.VIEW"); i.setComponent(ComponentName.unflattenFromString("com.example.package/com.example.package.activityName")); startActivity(i); 

Я не совсем уверен, что буду следить за ожидаемыми результатами, которые вы хотите увидеть, но следующее запустит приложение из панели управления и удалит панель управления из стека действий, оставив выбранное приложение:

 Intent i = new Intent(); i.setClassName("PACKAGE_NAME","SPECIFIC_CLASS"); i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(i); 

Я считаю, что это должно начинаться с приложения, как если бы вы запускали любое другое приложение.

Пожалуйста, добавьте дополнительную информацию о своей логике, если это не то, что вы ищете.

Я думаю, что когда вы переключаете действия, действие по умолчанию для Android должно быть приостановлено или удерживать активность в своем состоянии, пользователь оставил ее последним. Я знаю, что есть способ сделать так, чтобы состояние не сохранялось при переключении действий, но я не могу вспомнить это с головы.