我试图检索一个独特的ID的移动使用移动xamarin应用程序,我正在使用
MainActivity.Cs
public class AndroidDevice : IDevice
{
public string GetIdentifier()
{
var context = Android.App.Application.Context;
return Android.Provider.Settings.Secure.GetString(context.ContentResolver, Android.Provider.Settings.Secure.AndroidId);
}
}
我在共享项目中创建了一个界面
public interface IDevice
{
string GetIdentifier();
}
我将shaed项目中的函数称为
string deviceIdentifier = DependencyService.Get<IDevice>().GetIdentifier();
我很高兴
System.NullReferenceException: 'Object reference not set to an instance of an object.'
您需要将依赖属性添加到声明实现接口的类的程序集命名空间。
Eg.
[assembly: Dependency(typeof(DroidImplementation))]
namespace MyApp.Droid.Implementation
{
public class DroidImplementation : IMyInterface
{
// your class implementation here
}
}
我不会将该类添加到MainActivity。但是为它创建一个单独的名称空间。