2017-04-07 25 views
2

私はAndroidプロジェクトを持っており、Android ManifestファイルにAPIキーを保存したいと考えています。すなわちXamarinフォーム(Android):OnCreateバンドルがnull

type MainActivity() = 
    inherit FormsApplicationActivity() 
    static let [<Literal>] MyApiKey = "my-api-key" 
    override this.OnCreate (bundle) = 
     base.OnCreate(bundle) 
     let createViewModel() = new PhotoSetViewModel() :> IRoutableViewModel 
     AppDomain.CurrentDomain.UnhandledException.AddHandler(UnhandledExceptionEventHandler(AppExceptions.processException)) 
     Forms.Init(this, bundle) 
     Xamarin.FormsMaps.Init(this, bundle) 
     // Read the API key that I've stored in AndroidManifest.xml 
     let platform = new DroidPlatform(bundle.GetString(MyApiKey)) :> ICustomPlatform 
     let app = new App<ICustomPlatform>(platform, new UiContext(this), createViewModel) 
     app.Init() 
     base.LoadApplication app 

一つの小さな問題があります。それらを読むために、私は私のMainActivityクラスでOnCreateオーバーライドに伝わってくるバンドルを読み取ることができます。 bundleは常にnullです。これは私のすべてのプロジェクトで、C#とF#の両方の実装で起こっています。

私はXamarin.Forms NuGetパッケージ、バージョン2.3.4.224を使用しています。代わりにbundle引数を使用しようとしているの

答えて

0

が、次のようにメタデータを取得することが可能である:

let metaData = PackageManager.GetApplicationInfo(PackageName, PackageInfoFlags.MetaData).MetaData 
let platform = new DroidPlatform(metaData.GetString(MyApiKey)) :> ICustomPlatform 
関連する問題