“杀死”意图的最佳方式-Android

“杀死”意图的最佳方式-Android,android,android-intent,onresume,android-intentservice,Android,Android Intent,Onresume,Android Intentservice,我有一个广播接收器,通过GCM接收通知,然后由IntentService处理,如Android开发者文档中所述。My IntentService创建一个通知,当用户单击此通知时,将启动Main活动,在onResume中,我通过以下方式获得额外的意图: Bundle mBucket = getIntent().getExtras(); 我使用它们创建一个AlertDialog,它有一个指向网站的链接。我想知道如何处理这个问题: 当用户单击链接,然后返回应用程序时,会出现两个AlertDialo

我有一个广播接收器,通过GCM接收通知,然后由IntentService处理,如Android开发者文档中所述。My IntentService创建一个通知,当用户单击此通知时,将启动Main活动,在onResume中,我通过以下方式获得额外的意图:

Bundle mBucket = getIntent().getExtras(); 
我使用它们创建一个AlertDialog,它有一个指向网站的链接。我想知道如何处理这个问题:

当用户单击链接,然后返回应用程序时,会出现两个AlertDialogs,因为我想onResume再次被称为。我怎样才能避免这种情况? 如果活动不可见但未终止,则当用户单击通知时,不会显示对话框。
提前谢谢

AlertDialogs附加到父上下文,在本例中是活动。如果它不可见,据我所知,您的AlertDialog也不会显示。您可能需要创建自己的活动,并将其主题设置为对话框。还可以使用布尔值确保只打开一次AlertDialog。