我正在尝试访问xamarin表单pcl项目中的设备锁屏。我听说过第三方组件,如Lockscreen和Passcode,但我不知道如何去做,因为这是一个xamarin表单应用程序而不是xamarin.android。我如何实现让我们说我的xamarin表单应用程序的android项目中的Lockscreen?
答案 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
方法的IAndroidMethods
和activateLock()
接口。
我将展示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
}
}
}