如何执行以下任务:
我有主应用程序将启动不同的应用程序。
此任务需要什么。
如何向/从启动应用和主应用传递数据。
如何调试?
由于
答案 0 :(得分:0)
看看如何在WebBrowser,SMS,电子邮件和电话插件中完成此操作。正如评论中提到的@ 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
B 现在想要开始 A 给它一个动物,让我们说马。
var intent = new Intent (typeof(A));
intent.PutExtra ("animal", "horse");
StartActivity (intent);
基本上就是这样。如果 A 未包含在您自己的应用中但位于外部应用中,则Intent
会有所不同:
var intent = PackageManager.GetLaunchIntentForPackage ("some.other.App");
intent.PutExtra ("animal", "horse");
StartActivity (intent);