为了账号安全,请及时绑定邮箱和手机立即绑定

连接管理器无法在xamarin.android片段中工作

连接管理器无法在xamarin.android片段中工作

C#
慕码人8056858 2021-04-05 17:14:08
在我的应用程序中,我想测试设备是否已连接到互联网并相应地运行一些代码,并且在搜索互联网之后,以下代码显然应该可以工作:ConnectivityManager connMgr = (ConnectivityManager)getActivity().getSystemService(Context.CONNECTIVITY_SERVICE);NetworkInfo networkInfo = connMgr.getActiveNetworkInfo();但事实并非如此。调试器告诉我名称getActivity在当前上下文中不存在此代码有什么问题?这是完整的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;        }    }}
查看完整描述

1 回答

?
慕慕森

TA贡献1856条经验 获得超17个赞

您在这里所做的是java代码:


Xamarin在C#上工作,因此getter和setter不是方法,而是属性:


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

            NetworkInfo networkInfo = connMgr.ActiveNetworkInfo;

祝你好运!


查看完整回答
反对 回复 2021-04-17
  • 1 回答
  • 0 关注
  • 140 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信