如何在Xamarin表单应用程序中实现锁屏?

时间:2017-09-30 21:22:00

标签: xamarin xamarin.forms xamarin.android

我正在尝试访问xamarin表单pcl项目中的设备锁屏。我听说过第三方组件,如Lockscreen和Passcode,但我不知道如何去做,因为这是一个xamarin表单应用程序而不是xamarin.android。我如何实现让我们说我的xamarin表单应用程序的android项目中的Lockscreen?

1 个答案:

答案 0 :(得分:0)

在Xamarin Forms中调用Locker.Activate()的一种方法是使用依赖服务。在您的Xamarin.Forms项目中,您可以添加以下代码来调用依赖服务:

switch (Device.RuntimePlatform)
{
    case Device.Android:
        DependencyService.Get<IAndroidMethods>().activateLock();
        break;
    case Device.iOS:
        DependencyService.Get<IAppleMethods>().activateLock();
        break;
}

然后在您的Xamarin.Forms项目中,创建两个包含IAppleMethods方法的IAndroidMethodsactivateLock()接口。

我将展示IAndroidMethods的实施方式:

public interface IAndroidMethods
{
    void activateLock();
}

然后,在iOS和Android项目中,创建实现刚刚创建的接口的类。这将是你的android类:

//add appropriate using declarations
[assembly: Xamarin.Forms.Dependency(typeof(AndroidMethods))]
namespace <YourApp>.Droid
{
    public class AndroidMethods : IAndroidMethods
    {
        public void activateLock()
        {
            Locker.Activate(Xamarin.Forms.Forms.Context); //Not sure about any other parameters you need to pass in
        }
    }
}