0

アクティブなアプリケーションの上にダイアログ/popUpWindow を表示しようとしています。インテントを介してアプリケーションを開始するアクティビティがあります。アクティビティがバックグラウンドになり、呼び出されたアプリケーションがフォアグラウンドになった直後にダイアログを表示したいと考えています。

私のアクティビティの OnStop() メソッドには、次のコードがあります。

var dialog = new Dialog(this);
dialog.SetContentView(Resource.Layout.childLayout);
dialog.SetTitle("PopUp");
dialog.SetCancelable(true);
dialog.Show();

ただし、ダイアログは現在のアプリケーション (アクティビティから開始) の上には表示されず、その背後とアクティビティの前に表示されます。

ダイアログ/popUpWindow を現在のウィンドウ/アプリケーションの上に表示するにはどうすればよいですか?

これは 2 つのインテントを起動するコードです。最初のインテントは Adob​​e Reader を起動し、2 番目のインテントは私の透明なアクティビティを起動します。

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);
4

1 に答える 1

1

ダイアログを作成し、アクティビティの前に表示されます。Android の自然な動作です。そのため、インテントを介してアプリケーションを開始した後、別のインテントを起動して別のアクティビティを開始する必要があります。このアクティビティは透過的になります。 onCreate に diloag があります。

于 2012-11-13T11:34:25.913 に答える