提问者:小点点

如何获取移动xamarin c#的唯一id?


我试图检索一个独特的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.'

共1个答案

匿名用户

您需要将依赖属性添加到声明实现接口的类的程序集命名空间。

Eg.

[assembly: Dependency(typeof(DroidImplementation))]
namespace MyApp.Droid.Implementation
{
    public class DroidImplementation : IMyInterface
    {
       // your class implementation here
    }
}

我不会将该类添加到MainActivity。但是为它创建一个单独的名称空间。