安卓系统无法从邮件意向中获取回执

问题描述 投票:1回答:1

所以在我的应用程序中,我有一个按钮来打开gmail,这样用户就可以检查验证码。

我使用这个代码来打开gmail。

val intent = Intent(Intent.ACTION_MAIN)
intent.addCategory(Intent.CATEGORY_APP_EMAIL)
try {
    activity?.startActivity(intent)
} catch (e: Exception) {
    activity?.let {
        AlertDialog.Builder(it)
            .setTitle("Email App Not Found")
            .show()
    }
}

它是伟大的工作启动gmail, 然而,我需要的是返回按钮 回到我的应用程序。

目前,当我从gmail点击返回按钮时,它会最小化我的应用程序,然后重新打开我的应用程序只是重新打开gmail,没有办法回到我的应用程序,而不完全关闭和重新打开它。

有什么方法可以覆盖返回按钮,从gmail回到我的应用程序?

android email kotlin gmail
1个回答
0
投票

所以在我的应用程序中,我有一个按钮来打开gmail,这样用户就可以检查验证码了。

你有一个结构错误的 Intent 打开电子邮件客户端。该 文件 特别指出,你如何使用 CATEGORY_APP_EMAIL 是不正确的。

注:这不应该作为主键使用。Intent,因为它不会导致应用以正确的动作和类别启动。相反,请将其与 makeMainSelectorActivity(java.lang.String,java.lang.String) 来生成一个在选择器中包含该类别的主意图。

如果您试图启动与启动器相同的活动,您将需要一个包含该类别的 ACTION_MAINCATEGORY_LAUNCHER Intent,有一个选择器 Intent 试图将选择限制在电子邮件应用程序上。

有没有办法覆盖返回按钮,从gmail回到我的应用程序?

一般来说没有。应用程序如何响应系统BACK按钮是由该应用程序的开发者决定的。有可能是解决 Intent 问题将改善这一行为作为一个副作用。


0
投票

我给你的代码试了一下,它在模拟器Pixel 2上工作。所以,有几件事你可以检查一下。

第一,看看你是否有一些代码调用了类似于 finish() 从后堆栈中清除这个活动,特别是在 onPause()onStop().

第二个检查你是否启用了 Don't Keep activities 在设备的开发者选项中... 这将在进入Gmail之前破坏当前的活动,这样你就无法返回。

© www.soinside.com 2019 - 2024. All rights reserved.