如何防止应用程序被AppSwitch Xamarin Android“最小化”

时间:2018-03-23 11:34:34

标签: c# android xamarin

我只需要为一个应用程序锁定设备。

我在我的项目中使用了一行来确定我的应用变为launcher。因此,设备的初始屏幕是我的应用程序,HomeButton最终总是指向应用程序。下面一行。

[IntentFilter (new [] {Intent.ActionMain}, Categories = new [] {Intent.CategoryHome, Intent.CategoryDefault})]

我能够通过更改/ system / usr / keylayout文件夹中的* .kl文件来锁定按钮以防止用户访问设备设置。但唯一的方法是使用root设备。我正在寻找不需要操作设备的方法。

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);
}

任务栏我也做锁。但仅限于应用程序内。

我还阅读了AccessibilityService,我们可以在按下的按钮上更改创建挂钩。但我没有得到太多信息,我所做的测试都没有成功。

知道怎么阻止?

0 个答案:

没有答案