我正在开发一个Xamarin应用程序,并试图直接打开收件箱的默认邮件客户端。
我能够打开和传递数据,使用XF基本要素组成一条消息
Email.ComposeAsync(message);但我希望应用程序打开默认的邮件应用程序的收件箱按下按钮。这是否有可能以Xamarin的形式出现?
发布于 2019-05-13 02:57:20
我认为受扶养人处是你所需要的。在窗体项目中创建一个接口:
public interface IOpenManager
{
void openMail();
}然后在每个平台上实现它,用于iOS:
[assembly: Dependency(typeof(OpenImplementation))]
namespace Demo.iOS
{
public class OpenImplementation : IOpenManager
{
public void openMail()
{
NSUrl mailUrl = new NSUrl("message://");
if (UIApplication.SharedApplication.CanOpenUrl(mailUrl))
{
UIApplication.SharedApplication.OpenUrl(mailUrl);
}
}
}
}对于Android:
[assembly: Dependency(typeof(OpenImplementation))]
namespace Demo.Droid
{
public class OpenImplementation : IOpenManager
{
public void openMail()
{
Intent intent = new Intent(Intent.ActionMain);
intent.AddCategory(Intent.CategoryAppEmail);
Android.App.Application.Context.StartActivity(intent);
}
}
}最后,通过:DependencyService.Get<IOpenManager>().openMail();调用此依赖关系。
https://stackoverflow.com/questions/56077996
复制相似问题