C# Mono for Android如何在另一个应用程序前面显示对话框/弹出窗口

C# Mono for Android如何在另一个应用程序前面显示对话框/弹出窗口,c#,android,mono,C#,Android,Mono,我试图在活动应用程序的顶部显示一个对话框/弹出窗口。 我有一个活动,它通过意图启动应用程序。我想在我的活动进入后台并且被调用的应用程序进入前台之后显示对话框 在我的活动的OnStop()方法中,我有以下代码: var dialog = new Dialog(this); dialog.SetContentView(Resource.Layout.childLayout); dialog.SetTitle("PopUp"); dialog.SetCancelable(true); dialog.S

我试图在活动应用程序的顶部显示一个对话框/弹出窗口。 我有一个活动,它通过意图启动应用程序。我想在我的活动进入后台并且被调用的应用程序进入前台之后显示对话框

在我的活动的OnStop()方法中,我有以下代码:

var dialog = new Dialog(this);
dialog.SetContentView(Resource.Layout.childLayout);
dialog.SetTitle("PopUp");
dialog.SetCancelable(true);
dialog.Show();
但是对话框不会出现在当前应用程序的顶部(从我的活动开始),它会出现在它的后面和我的活动的前面

如何将对话框/弹出窗口置于当前窗口/应用程序之上

这是启动2个意图的代码:第一个意图启动adobe reader,第二个意图启动我的透明活动:

var intentPdf = new Intent();
PackageManager pm = PackageManager;    
intentPdf = pm.GetLaunchIntentForPackage("com.adobe.reader");
intentPdf.SetDataAndType(uri, "application/pdf");
StartActivity(intentPdf);

Thread.Sleep(5000);

var showChildActivity = new Intent();
showChildActivity.SetClass(this, typeof(ChildActivity));
showChildActivity.SetAction(Intent.ActionMain);
showChildActivity.SetFlags(ActivityFlags.ReorderToFront);
StartActivity(showChildActivity);

您创建了一个对话框,它将出现在您的活动前面。这是android的自然行为。因此,您需要做的是,在通过intent启动应用程序后,您需要触发另一个intent来启动您的另一个活动。此活动将是透明的,并且在onCreate中具有diloag

我尝试了您的解决方案,但我有两个问题:第二个活动的窗口是黑色的(不透明),并且该活动虽然在代码中是在第三方应用程序之后通过intent启动的,我解决了透明度问题,但它仍然是第二个问题:我的透明活动不在前台,尽管它的意图是在adobe reader意图之后启动的。我在问题中发布了代码。我删除了Thread.sleep,但我得到了相同的结果:我的透明活动不知何故在后台,因为如果我关闭Adobe Reader,就会显示透明活动中的弹出对话框。我无法将我的活动置于Adobe Reader之上。这很奇怪,试着简单地编写startActivity(这个,ChildActivity.class);我不能尝试startActivity(这个,ChildActivity.class),因为我在Mono中,但我尝试了startActivity(typeof(ChildActivity)),我得到了相同的行为:(。