在我的应用程序中,我使用了一个在我的应用程序中显示广告的库。当用户点击广告时,它会启动浏览器应用,onClick
事件由库本身处理。
我还在 onPause()
和 onStart()
方法中放置了代码,用于检测我的任何 Activity 是否被发送到后台(用户按下 Home)或切换在我的任何 Activity 之间。
因此,如果应用程序是全新打开的(没有实例正在运行)或从后台重新打开,它将显示一个对话框。如果用户只是从我的任何 Activites 切换,则不应显示该对话框。
现在的问题是,当用户点击一个广告时,浏览器应用程序被加载,这意味着我的应用程序已经被发送到后台,所以当用户关闭浏览器时,它仍然会显示对话框它不应该。
我的 App 是否有可能确定之前显示的外部 Activity(即浏览器)而不显示对话框?
或者在实现此类设置时我可以采用更好的方法吗?
提前致谢。
最佳答案
我不认为你的Activity有办法知道,这是之前的Activity。一个简单的解决方法是保存对话框显示的时间,并且在一段时间过去之前不再显示它。您可以根据您的应用需求来决定具体的时间段。
在某些情况下,这实际上可能更好。如果用户从浏览器切换到您的应用程序并且他已经使用了您的应用程序一段时间,则再次显示该对话框将是合适的。
关于Android:判断之前显示的外部Activity,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4254241/