首页 > 解决方案 > 将 ConnectivityChanged EventHandler 添加到 Xamarin 类

问题描述

我正在尝试将事件处理程序添加到我的 xamarin 表单项目中,以允许应用程序检测网络更改。为此,我使用教程和 Connectivity.ConnectivityChanged 事件类。我已经在此页面中将这个必要的代码行添加到 AssemblyInfo.cs 中:

[assembly: UsesPermission(Android.Manifest.Permission.AccessNetworkState)]

我的代码如下:

public partial class Main : TabbedPage
{
    public event EventHandler<ConnectivityChangedEventArgs> ConnectivityChanged;

    protected virtual void OnConnectivityChanged(ConnectivityChangedEventArgs e)
    {
        EventHandler<ConnectivityChangedEventArgs> handler = ConnectivityChanged;
        handler?.Invoke(this, e);
    }

    static void HandleConnChange(object sender, EventArgs e)
    {
        Console.WriteLine("A network change was detected");
    }

    public Main()
    {
        InitializeComponent();
        this.ConnectivityChanged += HandleConnChange;
    }
}

编译或运行程序时没有出现任何错误,但是当我关闭手机的互联网并重新打开时,它永远不会达到我在 HandleConnChange 中设置的断点。我怎样才能让这个事件处理程序工作?任何帮助将不胜感激 :)

标签: c#androidxamarin.formsevent-handling

解决方案


推荐阅读