我正试图访问xamarin forms pcl项目中的设备锁屏。我听说过第三方组件,如锁屏和密码,但我不知道该如何做,因为这是一个xamarin应用程序,而不是xamarin.android。我将如何在我的xamarin窗体应用程序的android项目中实现锁屏呢?
发布于 2017-09-30 23:46:49
在Xamarin表单中调用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项目中创建两个接口:包含activateLock()
方法的IAppleMethods
和IAndroidMethods
。
我将展示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
}
}
}
https://stackoverflow.com/questions/46507133
复制相似问题