从现有项目中的应用程序我如何执行以下任务:如何启动在MvvmCross
我主要的应用程序,将启动不同的应用程序。
此任务需要什么。
如何将数据传递到Launched-app和主应用程序。
如何为此进行调试?
感谢
从现有项目中的应用程序我如何执行以下任务:如何启动在MvvmCross
我主要的应用程序,将启动不同的应用程序。
此任务需要什么。
如何将数据传递到Launched-app和主应用程序。
如何为此进行调试?
感谢
看看如何在web浏览器,短信,电子邮件和电话的插件完成。正如@ martjin00在评论中提到的那样,你使用了一种叫做Intent
的东西来启动Activity
。无论是你自己还是其他人的Activity
无所谓。
Intent
允许开发者输入额外的参数。但是,它们显然需要是目标Activity
在收到Intent
时能够理解的格式。如果你知道这一点(如果你正在启动你自己的应用程序,你显然应该),那么这样做是相当微不足道的。
上面提到的插件就是这样做的。他们使用一组定义好的参数调用默认应用程序,这些参数可以传递给Intent
。插件只是公开这个,所以它可以从PCL触发,并且如果你为每个平台实现你自己的东西,可能会在多个平台上工作。
让我们说我们有Activity
A这是你想要启动的目标Activity
。这需要一些数据块作为参数:
public class A : Activity
{
protected override OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
var animal = Intent.GetStringExtra ("animal");
}
}
然后源Activity
乙现在要开始一个给它的动物,可以说马。
var intent = new Intent (typeof(A));
intent.PutExtra ("animal", "horse");
StartActivity (intent);
基本上就是这样。如果一个没有在自己的应用程序中包含但在外部应用程序,该Intent
会有点不同:
var intent = PackageManager.GetLaunchIntentForPackage ("some.other.App");
intent.PutExtra ("animal", "horse");
StartActivity (intent);
这工作没有任何不同,那么在MvvmCross任何其他Android/Xamarin代码。你应该启动一个'Intent'并用它可用的方法向它添加一些数据。 – Martijn00