Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/179.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何防止应用程序被;“最小化”;通过AppSwitch Xamarin Android_C#_Android_Xamarin - Fatal编程技术网

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: