[Xamarin Interface - IOS/Android] Example
페이지 정보
작성자 sbLAB 댓글 0건 조회 1,736회 작성일 19-10-19 09:36본문
Some example code:
In your PCL define an interface like this:
namespace Your.Namespace.Interfaces
{
public interface IAppVersion
{
string GetVersion();
int GetBuild();
}
}
And implement it like this in your platform projects:
IOS:
[assembly: Xamarin.Forms.Dependency(typeof(Your.Namespace.iOS.Version_iOS))]
namespace Your.Namespace.iOS
{
public class Version_iOS : IAppVersion
{
public string GetVersion()
{
return NSBundle.MainBundle.ObjectForInfoDictionary("CFBundleShortVersionString").ToString();
}
public int GetBuild()
{
return int.Parse(NSBundle.MainBundle.ObjectForInfoDictionary("CFBundleVersion").ToString());
}
}
}
Android:
[assembly: Xamarin.Forms.Dependency(typeof(Your.Namespace.Droid.Version_Android))]
namespace Your.Namespace.Droid
{
public class Version_Android : IAppVersion
{
public string GetVersion()
{
var context = global::Android.App.Application.Context;
PackageManager manager = context.PackageManager;
PackageInfo info = manager.GetPackageInfo(context.PackageName, 0);
return info.VersionName;
}
public int GetBuild()
{
var context = global::Android.App.Application.Context;
PackageManager manager = context.PackageManager;
PackageInfo info = manager.GetPackageInfo(context.PackageName, 0);
return info.VersionCode;
}
}
}
You can use this then in your pcl code:
string v = DependencyService.Get<IAppVersion>().GetVersion();
int b = DependencyService.Get<IAppVersion>().GetBuild();
- 이전글[xamarin form] MessagingCenter 19.10.27
- 다음글[xamarin, android] Android 9.0 Pie Internet Block solved. 19.10.19
댓글목록
등록된 댓글이 없습니다.