Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/259.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何从Xamarin.Froms中的AndroidManifest.xml访问元数据_C#_Android_Xamarin_Xamarin.android - Fatal编程技术网

C# 如何从Xamarin.Froms中的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

我正在尝试从Xamarin.Forms Android项目中的AndroidManifest.xml访问元数据

我有以下代码:

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