C# 如何从Xamarin.Froms中的AndroidManifest.xml访问元数据
我正在尝试从Xamarin.Forms Android项目中的AndroidManifest.xml访问元数据 我有以下代码:C# 如何从Xamarin.Froms中的AndroidManifest.xml访问元数据,c#,android,xamarin,xamarin.android,C#,Android,Xamarin,Xamarin.android,我正在尝试从Xamarin.Forms Android项目中的AndroidManifest.xml访问元数据 我有以下代码: var ai = CrossCurrentActivity.Current.Activity.PackageManager .GetApplicationInfo(CrossCurrentActivity.Current.Activity.PackageName, PackageInfoF
var ai = CrossCurrentActivity.Current.Activity.PackageManager
.GetApplicationInfo(CrossCurrentActivity.Current.Activity.PackageName,
PackageInfoFlags.MetaData);
var meta = ai.MetaData;
问题是,ai.Metadata是空的。你知道怎么了吗?
谢谢
AndroidManifest.xml:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:installLocation="auto" package="com.my.test.x2.x8" android:versionName="15.0" android:versionCode="15">
<uses-sdk android:minSdkVersion="15" />
<application android:label="MyApp" android:icon="@drawable/Icon"></application>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<application>
<meta-data android:name="MYENDPOINT" android:value="https://xxx.azurewebsites.net/" />
</application>
</manifest>
将您的
元数据
放在现有的应用程序范围内,并删除另一个,即:
例子:
输出:
<application android:label="MyApp" android:icon="@drawable/Icon">
<meta-data android:name="MYENDPOINT" android:value="https://xxx.azurewebsites.net/" />
</application>
var bundle = PackageManager.GetApplicationInfo(PackageName, Android.Content.PM.PackageInfoFlags.MetaData).MetaData;
foreach (var key in bundle.KeySet())
{
Log.Debug("SO", $"{key} : {bundle.GetString(key)}");
}
08-03 09:18:56.642 3519 3519 D SO : MYENDPOINT : https://xxx.azurewebsites.net