Xamarin 运行时的移动或模拟器

Xamarin 运行时的移动或模拟器,xamarin,xamarin.ios,xamarin.android,Xamarin,Xamarin.ios,Xamarin.android,我只想在真正的android\iOS设备上运行时启用记录器服务。 是否有可能知道我在核心项目级别的运行时是使用android\iOS模拟器还是使用真实设备运行?在核心项目中创建一个界面: public interface IDevicePlatform { bool IsSimulator(); } iOS相关服务注册/实施: public class Platform_iOS : IDevicePlatform { public IsSimulator() 

我只想在真正的android\iOS设备上运行时启用记录器服务。
是否有可能知道我在核心项目级别的运行时是使用android\iOS模拟器还是使用真实设备运行?

在核心项目中创建一个界面

public interface IDevicePlatform 
{ 
    bool IsSimulator(); 
} 
iOS相关服务注册/实施:

public class Platform_iOS : IDevicePlatform 
{  
    public IsSimulator() 
    { 
        return ObjCRuntime.Runtime.Arch == ObjCRuntime.Arch.SIMULATOR;
    }
}
public class Platform_Android : IDevicePlatform 
{ 
    public bool IsSimulator() 
    { 
        if (Build.Fingerprint != null) 
        { 
            if (Build.Fingerprint.Contains("vbox") ||  Build.Fingerprint.Contains("generic") || Build.Fingerprint.Contains("vsemu"))
                return true; 
        } 
        return false; 
    }
}
Android DependencyService注册/实施:

public class Platform_iOS : IDevicePlatform 
{  
    public IsSimulator() 
    { 
        return ObjCRuntime.Runtime.Arch == ObjCRuntime.Arch.SIMULATOR;
    }
}
public class Platform_Android : IDevicePlatform 
{ 
    public bool IsSimulator() 
    { 
        if (Build.Fingerprint != null) 
        { 
            if (Build.Fingerprint.Contains("vbox") ||  Build.Fingerprint.Contains("generic") || Build.Fingerprint.Contains("vsemu"))
                return true; 
        } 
        return false; 
    }
}
在Core中将其称为:

bool isSimulator = DependencyService.Get<IDevicePlatform>().IsSimulator();
if(isSimulator)
{
    //You are running on the Simulator
}
else
{
    //You are running on the real device
}
bool isSimulator=DependencyService.Get().isSimulator();
if(iSimulator)
{
//您正在模拟器上运行
}
其他的
{
//您正在真正的设备上运行
}

注意:iOS的实现是直截了当的,而Android是一个广阔的世界,因此,除了上面简单的Android实现之外,还可以看看在核心项目中创建一个界面

public interface IDevicePlatform 
{ 
    bool IsSimulator(); 
} 
iOS相关服务注册/实施:

public class Platform_iOS : IDevicePlatform 
{  
    public IsSimulator() 
    { 
        return ObjCRuntime.Runtime.Arch == ObjCRuntime.Arch.SIMULATOR;
    }
}
public class Platform_Android : IDevicePlatform 
{ 
    public bool IsSimulator() 
    { 
        if (Build.Fingerprint != null) 
        { 
            if (Build.Fingerprint.Contains("vbox") ||  Build.Fingerprint.Contains("generic") || Build.Fingerprint.Contains("vsemu"))
                return true; 
        } 
        return false; 
    }
}
Android DependencyService注册/实施:

public class Platform_iOS : IDevicePlatform 
{  
    public IsSimulator() 
    { 
        return ObjCRuntime.Runtime.Arch == ObjCRuntime.Arch.SIMULATOR;
    }
}
public class Platform_Android : IDevicePlatform 
{ 
    public bool IsSimulator() 
    { 
        if (Build.Fingerprint != null) 
        { 
            if (Build.Fingerprint.Contains("vbox") ||  Build.Fingerprint.Contains("generic") || Build.Fingerprint.Contains("vsemu"))
                return true; 
        } 
        return false; 
    }
}
在Core中将其称为:

bool isSimulator = DependencyService.Get<IDevicePlatform>().IsSimulator();
if(isSimulator)
{
    //You are running on the Simulator
}
else
{
    //You are running on the real device
}
bool isSimulator=DependencyService.Get().isSimulator();
if(iSimulator)
{
//您正在模拟器上运行
}
其他的
{
//您正在真正的设备上运行
}
注意:iOS的实现是直截了当的,而Android是一个广阔的世界,因此,除了上面简单的Android实现之外,还可以看看