我有一个Android项目,希望将API密钥存储在我的Android清单文件中。要读取它们,可以在MainActivity
类的OnCreate
重写中读取传递的捆绑包。如下:
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
有一个小问题,bundle
始终为空。这在我所有的项目中都发生了,在 C# 和 F# 实现中都是如此。
我正在使用 Xamarin.Forms NuGet 包,版本为 2.3.4.224。