C# 如何防止应用程序被;“最小化”;通过AppSwitch Xamarin Android
我只需要为一个应用程序锁定设备 我在我的项目中使用了一行代码,确定我的应用程序将成为C# 如何防止应用程序被;“最小化”;通过AppSwitch Xamarin Android,c#,android,xamarin,C#,Android,Xamarin,我只需要为一个应用程序锁定设备 我在我的项目中使用了一行代码,确定我的应用程序将成为启动器。因此,设备的初始屏幕是我的应用程序,HomeButton最终总是指向应用程序。下面一行 [IntentFilter (new [] {Intent.ActionMain}, Categories = new [] {Intent.CategoryHome, Intent.CategoryDefault})] 我可以通过更改/system/usr/keylayout文件夹中的*.kl文件来锁定按钮,以防止
启动器
。因此,设备的初始屏幕是我的应用程序,HomeButton
最终总是指向应用程序。下面一行
[IntentFilter (new [] {Intent.ActionMain}, Categories = new [] {Intent.CategoryHome, Intent.CategoryDefault})]
我可以通过更改/system/usr/keylayout文件夹中的*.kl文件来锁定按钮,以防止用户访问设备设置。但实现这一点的唯一方法是使用根设备。我正在寻找不需要为设备设置根目录的方法
通过BackButton
,我使用public override void OnBackPressed()
在应用程序内的设备上获得“锁定”
我可以使用下面的代码在设备上“锁定”音量按钮
public override bool OnKeyDown (Android.Views.Keycode keyCode, KeyEvent e)
{
switch (keyCode)
{
case Android.Views.Keycode.VolumeUp:
Toast.MakeText (this, "Volume Up pressed", ToastLength.Long) .Show ();
e.Dispose ();
return true;
case Android.Views.Keycode.VolumeDown:
Toast.MakeText (this, "Volume Down pressed", ToastLength.Long) .Show ();
e.Dispose ();
OnUserLeaveHint ();
return true;
}
return base.OnKeyDown (keyCode, e);
}
但是,我唯一无法“阻止”的按钮是AppSwitch
,这是访问设置的最简单方法。
我尝试了下面的代码,但没有成功
protected override void OnPause ()
{
base.OnPause ();
ActivityManager activityManager = (ActivityManager) GetSystemService (Activity.ActivityService);
activityManager.MoveTaskToFront (TaskId, 0);
}
我在任务栏上也做了锁。但仅限于应用程序内部
我还阅读了关于访问性服务的文章,在这里,我们可以在按下的按钮上创建一个钩子。但是我没有得到太多的信息,我做的测试也没有成功
知道如何阻止吗?您可能正在寻找Android管理API: