我正在尝试访问AndroidManifest.xml在Xamarin.Forms Android项目中的元数据。
我有这样的代码:
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>发布于 2016-08-03 13:20:17
将meta-data放在现有的应用程序范围内,然后删除另一个应用程序,即:
示例:
<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.nethttps://stackoverflow.com/questions/38743546
复制相似问题