繁体   English   中英

从 Xamarin 中的应用程序启动应用程序

[英]Launch app from app in Xamarin

我用 Xamarin 编写了两个应用程序:CallerApp 和 CalleeApp。 如果单击 CallerApp 中的按钮,CalleeApp 应启动(如果尚未启动)并变为可见。

在 CalleeApp 的 MainActivity 之上,我定义了如下意图:

 [IntentFilter(new [] { Intent.ActionView }, DataScheme="abcdef", Categories=new[] { Intent.CategoryDefault, Intent.CategoryBrowsable })]
 public class MainActivity : global::Xamarin.Forms.Platform.FormsApplicationActivity
 {
      ...
 }

在 CallerApp 中,当单击按钮时,我执行以下操作:

 var intent = new Intent(Intent.ActionView, Android.Net.Uri.Parse(abcdef://));
 Forms.Context.StartActivity(intent);

然后我运行 CalleeApp,然后将其部署在设备上并启动。 然后我运行 CallerApp,然后将其部署在设备上并启动。 如果我然后单击该按钮,则会收到消息:“没有应用程序可以执行此操作”。

有谁知道我在这里做错了什么?

注意:如果我尝试像http://developer.xamarin.com/recipes/android/fundamentals/intent/launch_the_map_application/中的示例那样启动 Maps 应用程序,我会收到相同的消息。

好吧,我只是让它工作,但不是通过更改代码。 开发机当前日期时间有误,我一改正,就开始工作了!

我必须使用 Intent 来解决,该 Intent 尝试使用 PackageManager 类启动您想要的包,只需:

Intent intent = PackageManager.GetLaunchIntentForPackage("com.company_name.app_name");
StartActivity(intent);

不要忘记将“com.company_name.app_name”替换为您要运行的应用程序包的名称。 如果未安装应用程序包,它将引发异常,那么您可以要求用户安装该应用程序,打开 Play 商店等等。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM