#android #flutter #dart
Вопрос:
Я запускаю приложение gmail, когда пользователь нажимает кнопку. Вот мой код для открытия приложения gmail на Android, которое я использую android_intent
в пакете.
const intent = AndroidIntent(
action: 'android.intent.action.MAIN',
category: 'android.intent.category.APP_EMAIL',
);
intent.launch().catchError((e) {
context.showMessageDialog(e.toString());
});
Он gmail
правильно открывает приложение, и теперь, когда я нажимаю кнопку «Назад» в Android, оно закрывается gmail
так же, как и мое приложение. Я не хочу, чтобы он закрывал мое приложение. Я хочу gmail
открыться как другое приложение. Я не могу использовать url_launcher
пакет, так как он используется для отправки электронной почты. Мой вариант использования-просто открыть приложение электронной почты пользователя, чтобы пользователь мог проверить электронную почту, которую я отправил со своего сервера во время регистрации.
Комментарии:
1. Есть ли какая-либо ошибка в logcat?
2. @Генри Нет, ошибки нет. Он правильно открывает gmail. Но когда я нажимаю кнопку «Назад», когда я нахожусь в gmail, это также закрывает мое приложение
3. Вы включили опцию «Не сохранять действия» в настройках отладки устройства?
4. @GiuseppeGiacoppo Это не включено
Ответ №1:
Это работает для меня:
private fun openGmail() {
val intent = requireContext().packageManager.getLaunchIntentForPackage("com.google.android.gm") //"leanback" version is for TV
startActivity(intent)
}
Комментарии:
1. это похоже на код котлина. Я думаю, что оператору нужен код дротика/флаттера вместо этого.
Ответ №2:
В AndroidManifest.xml
изменении android:launchMode="singleTop"
на android:launchMode="singleInstance"