Android:确定先前显示的外部活动

Android:确定先前显示的外部活动,android,android-activity,Android,Android Activity,在我的应用程序中,我使用了一个在我的应用程序中显示广告的库。当用户点击广告时,它会启动浏览器应用程序,onClick事件由库本身处理 我还在onPause()和onStart()方法中放置了一个代码,用于检测我的任何活动是否发送到后台(用户按下Home键)或在我的任何活动之间切换 因此,如果应用程序是新打开的(没有实例正在运行)或从后台重新打开,它将显示一个对话框。如果用户仅从任何“我的活动”切换,则不应显示该对话框 现在的问题是,当用户单击广告时,浏览器应用程序会被加载,这意味着我的应用程序已

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

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

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

现在的问题是,当用户单击广告时,浏览器应用程序会被加载,这意味着我的应用程序已被发送到后台,因此当用户关闭浏览器时,它仍会在不应该显示的对话框中显示

我的应用程序是否可以确定以前显示的外部活动(即浏览器),而不显示对话框

或者,在实现这种设置时,有没有更好的方法可以遵循


提前感谢。

您可以使用onResume()方法指定活动从后台返回时的行为。

我认为您的活动没有办法知道之前的活动。一个简单的解决方法是,在一段时间过去之前,保存对话框显示和不再显示的时间。您可以根据应用程序的要求决定确切的时间段


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

onResume()在我切换应用程序的活动时仍然被调用,因此其逻辑基本上与我的onStart()中的逻辑相同。您好,当用户从浏览器切换回我的应用程序时,不显示对话框是一项特殊要求。因此,不幸的是,无法确定之前的活动。