如何在iOS中显示已安装的音乐播放器选项?

时间:2018-07-19 10:28:25

标签: ios xamarin xamarin.ios

我正在用xamarin做一个项目。

我确实需要一个弹出窗口,单击一下按钮即可显示手机中安装的所有音乐应用程序,以便用户可以选择其中任何一个并独立播放音乐。

我可以在具有音乐意图的android中做到这一点。

这就像我要播放mp3文件,然后点击一个按钮。 iOS系统会在工作表中显示所有可用的音乐,通过选择其中一种,我可以播放该mp3文件。

Music intent ios

1 个答案:

答案 0 :(得分:0)

首先,您声明一个与openApp的接口:

public interface IOpenAppService
{
    Task<bool> Launch(string stringUri);
}

然后,在您的customRenderer中:

[assembly: Xamarin.Forms.Dependency(typeof(OpenAppService))]
namespace OpenAppLaunch.iOS
{
    public class OpenAppService : IOpenAppService
    {

        public Task<bool> Launch(string stringUri)
        {
            try
            {
                NSUrl request = new NSUrl(stringUrl);
                bool isOpened = UIApplication.SharedApplication.OpenUrl(stringUrl);

                if (isOpened == false)
                    UIApplication.SharedApplication.OpenUrl(new NSUrl(stringUrl));

                return Task.FromResult(true);
            }
            catch (Exception ex)
            {
                Debug.WriteLine("Cannot open url: {0}, Error: {1}", request.AbsoluteString, ex.Message);
                var alertView = new UIAlertView("Error", ex.Message, null, "OK", null);

                alertView.Show();

                return Task.FromResult(false);
            }
        }
    }

您可以通过致电OpenAppService.Launch("skype://");

使用它