是否可以使用xamarin.form在我的应用程序中打开另一个应用程序?

时间:2018-08-28 16:33:04

标签: c# xamarin xamarin.forms cross-platform

我是新来的频道;我最近开始使用xamarin.form来开发跨平台应用程序。

我已经被问题困扰了几天。我想知道是否有一种方法可以让我的应用程序打开第三方应用程序,还是有必要以不同的方式为每个平台实现此功能。

确切地说,我想知道是否有一种方法类似于UIWebview中IFrame为网页提供的方法,以在我的应用程序中打开第三方应用程序而无需启动第二个应用程序在后台发送我的应用程序?

1 个答案:

答案 0 :(得分:0)

您可以尝试这个;

 private async void Button_OnClicked(object sender, EventArgs e)
            {  //You need to change your app package address which you want to open with button. Example: "com.microsoft.office.officelens"
                Intent intent = new Intent();
                intent.SetComponent(new ComponentName("com.package.address", "com.package.address.MainActivity")); 
                Android.App.Application.Context.StartActivity(intent);
            }

此外,如果您要检查已下载或未下载此应用的用户;

public string facebookApp;



public async Task ShowAlert()
        {
            this.facebookApp = "https://play.google.com/store/apps/details?id=com.facebook.katana&hl=tr";
            var action = await DisplayAlert("Warning", "Please download facebook app first.", "Okay", "Cancel");
            if (action)
            {
                Device.OpenUri(new Uri(this.facebookApp));
            }
        }

private async void Button_OnClicked(object sender, EventArgs e)
           {  
                try
                {
                    Intent intent = new Intent();
                    intent.SetComponent(new ComponentName("com.package.address", "com.package.address.MainActivity")); 
                    Android.App.Application.Context.StartActivity(intent);
                }
                catch (Exception ex)
                {
                    ShowAlert();
                }
           }

因此,在这种情况下;如果用户之前未下载xApp(facebook,twitter等),他/她将收到警告。如果他们在DisplayAlert上单击“确定”,则程序会将其发送到Google Play链接。