有没有办法以编程方式访问Xamarin便携式C#代码中的应用程序包名称/命名空间/版本信息?
像这样(链接是如何访问Android,我想知道是否有一个预先存在的C#跨平台方式来访问便携式类代码.)
不是这个.
小智 14
我得到了你的问题的答案,但它正在使用依赖服务工作.如果没有Xamarin插件,没有其他办法.这是代码:
pcl项目中的接口:
public interface IPackageName
{
string PackageName { get; }
}
Run Code Online (Sandbox Code Playgroud)
Android实施:
public class PackageNameDroid : IPackageName
{
public PackageNameDroid()
{
}
public string PackageName
{
get { return Application.Context.PackageName; }
}
}
Run Code Online (Sandbox Code Playgroud)
iOS实现:
public class PackageNameIOS : IPackageName
{
public PackageNameIOS()
{
}
public string PackageName
{
get { return NSBundle.MainBundle.BundleIdentifier; }
}
}
Run Code Online (Sandbox Code Playgroud)
不要忘记在Android文件中标记依赖服务的平台文件:
[assembly: Xamarin.Forms.Dependency(typeof(PackageNameDroid))]
和iOS文件:
[assembly: Xamarin.Forms.Dependency(typeof(PackageNameIOS))]
现在你很高兴可以在PCL中使用它,就像那样:
string packageName = DependencyService.Get<IPackageName>().PackageName;
希望它能帮助别人.
| 归档时间: |
|
| 查看次数: |
5684 次 |
| 最近记录: |