我正在尝试以 Xamarin 形式访问电话管理器类。我阅读了需要在 Xamarin 中使用的constructor。
虽然我对构造函数需要的类型和推理仍然有些困惑,但我将几个我认为应该有效的构造函数参数放在一起。我收到一个错误:
TelephonyManager(IntPtr, JNIHandleOwnership) 由于其保护级别而无法访问
怎么会这样?据我所知,我无法控制此 Android 类的 C# 版本的保护级别。
using Android.Telephony;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace CellularSignal
{
public class MainActivityViewModel
{
public double getRSSI()
{
IntPtr ptr = IntPtr.Zero;
// **Intellisense error on line below**
var t = new TelephonyManager(ptr, JniHandleOwnership.DoNotTransfer);
return 0;
}
}
}
这样的事情应该有效:
TelephonyManager tpMgr = (TelephonyManager)mAppContext.GetSystemService(Context.TelephonyService);
其中
mAppContext
是您在应用程序中使用的当前活动,如果您在其片段之一中,则可以从其 Activity 属性中获取活动。