c# - 连接管理器在 xamarin.android fragment 中不起作用

标签 c# android xamarin xamarin.android

在我的应用程序中,我想测试设备是否已连接到互联网并相应地运行一些代码,在搜索互联网后显然以下代码应该可以工作:

ConnectivityManager connMgr = (ConnectivityManager)getActivity().getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = connMgr.getActiveNetworkInfo();

但事实并非如此。

调试器告诉我

the name getActivity doesn't exist in the current context

这段代码有什么问题?这是完整的 fragment2.cs 文件:

using Android.OS;
using Android.Support.V4.App;
using Android.Views;
using Android.Webkit;
using Android.Net;
using Android.Widget;

using System;

namespace TabsApp.Fragments
{
    public class Fragment2 : Fragment
    {
        public override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);

            // Create your fragment here
        }

        public static Fragment2 NewInstance()
        {
            var frag2 = new Fragment2 { Arguments = new Bundle() };
            return frag2;
        }


        public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
        {
            var ignored = base.OnCreateView(inflater, container, savedInstanceState);

            View v = inflater.Inflate(Resource.Layout.fragment2, container, false);

            ConnectivityManager connMgr = (ConnectivityManager)getActivity().getSystemService(Context.CONNECTIVITY_SERVICE);
            NetworkInfo networkInfo = connMgr.getActiveNetworkInfo();

            return v;
        }
    }
}

最佳答案

你在这里做的是java代码:

Xamarin 适用于 C#,因此 getter 和 setter 不是方法而是属性:

   ConnectivityManager connMgr = (ConnectivityManager)this.Activity.GetSystemService(Android.Content.Context.ConnectivityService);
            NetworkInfo networkInfo = connMgr.ActiveNetworkInfo;

祝你好运!

关于c# - 连接管理器在 xamarin.android fragment 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49794151/

相关文章:

Java 退出并显示代码 1 (MSB6006) - Xamarin.Droid

asp.net - 即使项目中没有错误,Xamarin 应用程序也不会部署

c# - 歌曲选择系统

C# HttpClient 检测重定向

c# - 通过 C# 在运行时编译 swf?

android - 下载时显示进度条

c# - Windows 10 通用应用程序 - 标题栏中的按钮不起作用

android - 如何折叠 AppBarLayout 的内容而不是工具栏

android - 专为 Android ARM5TE 构建的应用程序,但设备支持 ARM5T

.net - 用于可移植类库测试的 NUnit