Android:判断之前显示的外部Activity

标签 android android-activity

在我的应用程序中,我使用了一个在我的应用程序中显示广告的库。当用户点击广告时,它会启动浏览器应用,onClick 事件由库本身处理。

我还在 onPause()onStart() 方法中放置了代码,用于检测我的任何 Activity 是否被发送到后台(用户按下 Home)或切换在我的任何 Activity 之间。

因此,如果应用程序是全新打开的(没有实例正在运行)或从后台重新打开,它将显示一个对话框。如果用户只是从我的任何 Activites 切换,则不应显示该对话框。

现在的问题是,当用户点击一个广告时,浏览器应用程序被加载,这意味着我的应用程序已经被发送到后台,所以当用户关闭浏览器时,它仍然会显示对话框它不应该。

我的 App 是否有可能确定之前显示的外部 Activity(即浏览器)而不显示对话框?

或者在实现此类设置时我可以采用更好的方法吗?

提前致谢。

最佳答案

我不认为你的Activity有办法知道,这是之前的Activity。一个简单的解决方法是保存对话框显示的时间,并且在一段时间过去之前不再显示它。您可以根据您的应用需求来决定具体的时间段。

在某些情况下,这实际上可能更好。如果用户从浏览器切换到您的应用程序并且他已经使用了您的应用程序一段时间,则再次显示该对话框将是合适的。

关于Android:判断之前显示的外部Activity,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4254241/

相关文章:

android - 包安装程序的不当行为

android - 用于测试的 Google Maps API KEY

android - 无法解决结果的 Activity

android - 如何限制Android中返回栈的大小?

android - SwitchPreference (PreferenceAtivity) - Android NULL

android - 在 Android 中测试 Main/Launcher Activity

android - 如何在 unity hub 上为 android 激活构建和运行

android - 将十六进制颜色字符串转换为颜色?

android - 将应用程序置于前台与在最近的 Activity 中按应用程序相同吗?

android - 调用 onDestroy() 后 Activity 对象会发生什么情况?