Xamarin Android 应用程序在线程启动时崩溃



正在制作一个安卓应用程序,所以只要我运行一个线程

    Thread server = new Thread(new ThreadStart(serverHandle));
    server.Start();

该应用程序崩溃而没有任何错误消息,它只发生在发布模式下,调试时一切似乎都很好

它仅在服务器句柄为空时才有效,但如果里面有这样的东西

    private void serverHandle()
    {
    AlertDialog.Builder  alert = new AlertDialog.Builder(this);
        alert.SetMessage("test");
        alert.Show();
    }

它停止工作任何帮助,为什么会这样?

AlertDialog只能在UI Thread中使用。请参阅如何在正在运行的线程中显示警报对话框?。

因此,如果您希望代码正常工作,可以像这样修改它:

Thread server = new Thread(new ThreadStart(()=> {
            //run the AlertDialog in the UI Thread.
            RunOnUiThread(() => {
                AlertDialog.Builder alert = new AlertDialog.Builder(this);
                alert.SetMessage("test");
                alert.Show();
            });
        }));
server.Start();

相关内容

  • 没有找到相关文章

最新更新