我在启动另一个应用程序时尝试传递参数已有一段时间了,但由于某种莫名其妙的原因而失败
发件人应用:
public void OpenDocApp(string vorgangsnummer = null) {
var activity = ((Activity)Forms.Context).PackageManager.GetLaunchIntentForPackage("package name");
if (activity != null) {
activity.PutExtra("Vorgangsnummer", vorgangsnummer);
Application.Context.StartActivity(activity);
} else
Acr.UserDialogs.UserDialogs.Instance.Alert("Install Second App");
}
接收器应用程序:
protected override void OnCreate(Bundle bundle) {
base.OnCreate(bundle);
UserDialogs.Init(this);
TabLayoutResource = Resource.Layout.Tabbar;
ToolbarResource = Resource.Layout.Toolbar;
global::Xamarin.Forms.Forms.Init(this, bundle);
var vorgangsnummer = Intent.GetStringExtra("Vorgangsnummer");
if (vorgangsnummer != null)
Helpers.Tools.SetVorgangsCode(vorgangsnummer);
LoadApplication(new App());
}
应用将打开,但值未转移
我可以解决问题:
问题是启动画面比主活动更早启动,因此结果不在主活动中,而是在启动画面中