我一直试图在启动另一个应用程序时传递一个参数很长一段时间,但是由于一些莫名其妙的原因而失败了
发件人应用:
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");
}
Receiver 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());
}
应用程序打开,但未传输值
答案 0 :(得分:0)
我可以解决问题:
问题是SplashScreen的启动时间早于MainActivity,因此结果不在MainActivity中,而是在SplashScreen中