首页 > 解决方案 > 如何在 iOS 中显示已安装的音乐播放器选项?

问题描述

我在 xamarin 做一个项目。

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

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

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

音乐意图 ios

标签: iosxamarinxamarin.ios

解决方案


首先你声明一个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://");


推荐阅读