在Monodroid中导航Android活动

本文关键字:Android 活动 导航 Monodroid | 更新日期: 2023-09-27 18:35:55

在使用Monodroid的Android应用程序中,我有几个活动。 我注意到(物理)后退按钮并不总是像人们预期的那样使应用程序返回到以前的活动。

此外,如果应用程序崩溃,则当前活动消失,但会显示应用程序的先前活动。根据我使用Java开发Android应用程序的经验,这不是我期望的行为。所以它可能是一个典型的单机器人的东西。我在这里错过了什么吗?

我有一个主要活动(飞溅),显示一次。 从一个活动导航到另一个活动是这样的:

我的主要活动

 [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 
    {

这里没有什么花哨的。我必须使用其他属性吗?有什么线索吗?

在Monodroid中导航Android活动

除了使用 NoHistory = true 的 SplashActivity 之外,我希望您记录的活动能够在 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在调试会话完成后尝试重新启动以前的应用程序 - 也许这就是您所看到的?