Ask*_*ein 27 c# xamarin.ios xamarin.android xamarin
使用Xamarin.Android和Xamarin.iOS,我现在需要共享代码部分中的当前操作系统.无论是enum,int还是字符串,都没关系.
我试过这个:
System.Environment.OSVersion
Run Code Online (Sandbox Code Playgroud)
对于某些内核版本信息,它始终是"Unix".
有关于Android的信息,例如
Android.OS.Build.VERSION
Run Code Online (Sandbox Code Playgroud)
但它需要在Android特定代码部分.有没有办法知道公共库中的当前操作系统?
mau*_*are 51
您也可以尝试这个,它可能是我找到的最佳解决方案:
if(Device.RuntimePlatform == Device.iOS)
{
    //iOS stuff
}
else if(Device.RuntimePlatform == Device.Android)
{
}
Run Code Online (Sandbox Code Playgroud)
        我正在使用DeviceInfo插件.它支持Android, iOs, Windows Phone Silverlight, Windows Phone RT, Windows Store RT, Windows 10 UWP并且它完美地工作.
它可以PCL像这样使用(你必须将插件添加到平台项目中PCL):
var platform = CrossDeviceInfo.Current.Platform;
    switch(platform){
        case Platform.iOS:
            // iOS
            break;
        case Platform.Android:
            // Android
            break; 
    }
Run Code Online (Sandbox Code Playgroud)
这种代码不是一个好习惯PCL,它更好地使用Dependency Injection(这个插件使用它)来定制平台特定的行为.
|   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           18080 次  |  
        
|   最近记录:  |