0

Monodroid を使用する Android アプリには、いくつかのアクティビティがあります。(物理的な) 戻るボタンを押しても、期待どおりにアプリが前のアクティビティに戻るとは限らないことに気付きました。

また、アプリがクラッシュした場合、現在のアクティビティは消えますが、アプリの以前のアクティビティが表示されます。Java を使用した Android アプリ開発の経験から、これは私が期待する動作ではありません。ということで、典型的なモノドロイドのやつなのかもしれません。ここで何か不足していますか?

私は 1 つのメイン アクティビティ (スプラッシュ) を 1 回表示しています。アクティビティからアクティビティへの移動は次のようになります。

私の主な活動

 [Activity(Label = "x", MainLauncher = true, NoHistory = true, Icon = "@drawable/zoeker2", Theme="@android:style/Theme.NoTitleBar")]
    public class SplashActivity : Activity
    {



 private void showLogon()
        {
            System.Threading.Thread.Sleep(500);
            RunOnUiThread(delegate
            {
                StartActivity(typeof(LogonActivity)); 
            });
        }

私のログオン アクティビティ

 [Activity(Label = "x",   Theme = "@android:style/Theme.NoTitleBar")]
    public class LogonActivity : Activity
    {

 void LogonActivity_OnLogonSucceeded(object sender, EventArgs e)
        {
            Tools.Log("Logon Activity. Logon succeeded");
            updateButtonStates();
            var menuActivity = new Intent(this, typeof(MenuActivity));
            StartActivity(menuActivity);
        }

そして最後にメニュー活動

 [Activity(Label = "Menu", Theme="@android:style/Theme.NoTitleBar")]
    public class MenuActivity : Activity, ILocationListener, ISensorEventListener 
    {

ここには派手なものはありません。他の属性を使用する必要がありますか? どんな手掛かり?

4

1 に答える 1

1

を使用する SplashActivity を除いて、NoHistory = trueあなたが文書化したアクティビティが MonoDroid/Android 内の「通常の BackStack 操作」で動作することを期待します

Java/Android の経験は、Mono for Android でも見られるはずです。

ApiDemo のようなものを試すことができますか - 現在のセットアップで動作しますか - https://github.com/xamarin/monodroid-samples/tree/master/ApiDemo

問題が解決しない場合は、小さなサンプル プロジェクトを投稿するか、バグ/問題としてhttp://bugzilla.xamarin.com/enter_bug.cgiに報告してください。


の上:

また、アプリがクラッシュした場合、現在のアクティビティは消えますが、アプリの以前のアクティビティが表示されます

これは非常に珍しいように聞こえます。デバッグ セッションが終了した後、Android が以前のアプリを再起動しようとすることがあります。

于 2012-05-30T09:32:03.527 に答える