Android-禁止从ACTION_PICK_WIFI_NETWORK屏幕上向右滑动

问题描述 投票:0回答:1

我们有一个可在Android平板电脑上运行的商业应用程序。这是启动时启动的活动,并且我们已采取措施来防止用户访问android系统。这包括删除主页和后退按钮,以及诸如以下的设置:

    ContentResolver cr = getContentResolver();
    Settings.Global.putString(cr, "policy_control", "immersive.full=*");
    Settings.Secure.putInt(cr, "user_setup_complete", 0);

我们有一项新要求,即允许用户连接到WiFi。为此,我们希望通过一种意图以编程方式访问系统wifi设置:

    Intent intent = new Intent(WifiManager.ACTION_PICK_WIFI_NETWORK);
    intent.putExtra("extra_prefs_show_button_bar", true);
    intent.putExtra("extra_prefs_set_next_text", (String)null);
    startActivity(intent);

这非常好-允许用户执行建立wifi连接所需的所有操作,包括返回到我们应用的后退按钮。但是,我发现,如果您从左边缘向右滑动,则会打开“设置”导航抽屉,现在用户可以访问android系统了。

是否有防止此抽屉打开的方法?也许在此屏幕启动时阻止滑动操作,但是当我们的应用程序位于顶部时才允许滑动?

android android-intent kiosk-mode
1个回答
0
投票

我们发现了部分解决方案。如果您打算将此额外内容包括在内:

    intent.putExtra(":settings:hide_drawer", true);

它将成功阻止抽屉在此页面上打开。但是,如果您选择任何菜单项(例如“配置Wi-Fi”或“高级”),则会导致发送新的意图,并且可以在这些页面上再次访问抽屉。从子设置页面返回原始的WiFiSettings页面,然后再次禁用抽屉。

看起来我们可能必须修改Android源代码才能获得我们正在寻找的行为。

© www.soinside.com 2019 - 2024. All rights reserved.