覆盖或禁用设置菜单

Posted

技术标签:

【中文标题】覆盖或禁用设置菜单【英文标题】:Override or disable settings menu 【发布时间】:2012-01-03 17:45:03 【问题描述】:

我正在制作一个应在显示产品信息的商店中使用的应用程序。我使用 android 平板电脑向客户提供一些交互式信息。用户应该无法对平板电脑执行任何其他操作。

到目前为止,我设法禁用了返回和主页按钮。该应用程序在设备启动完成后启动。因此,当他重新启动设备时,他无法启动任何其他应用程序(我无法阻止用户重新启动设备)。

问题是,客户可以打开设置菜单并强制终止我的应用程序。

有没有办法禁用设置菜单(例如通过密码保护它)或由我的应用程序覆盖它?

我不打算将我的应用程序添加到 Android 市场,因为它只能在商店中运行。

【问题讨论】:

第 3 方应用程序可以工作吗?然后试试 AppLock 【参考方案1】:

我发现了如何覆盖设置菜单。

由于设置菜单是通过隐式 Intent 打开的,因此我只需添加正确的 Intent 过滤器即可:

<intent-filter >
    <action android:name="android.settings.SETTINGS" />
    <category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<intent-filter >
    <action android:name="android.settings.WIRELESS_SETTINGS" />
    <category android:name="android.intent.category.DEFAULT" />
</intent-filter>

这将让用户选择他想要打开的设置应用程序。如果我现在将我的活动设置为默认值,用户将无法通过状态栏访问设置菜单。

【讨论】:

在我的联想 YT3-850F、Lollipop 5.1.1 上运行良好。 它的。只是。太棒了。 @js- 我正在尝试为我的设备创建自定义启动器,并希望删除更改启动器的功能,管理员除外。有没有办法以编程方式从“设置”应用程序中删除 HOME 设置?或者一起删除访问“设置”应用程序的能力?我不希望用户能够切换回默认的 Android 启动器。 @wayne-johnson 您可以使用 DevicePolicyManager.addPersistentPreferredActivity 永久覆盖 HOME 设置。检查 android 食谱,例如 developer.android.com/work/dpc/dedicated-devices/cookbook 您的应用必须设置为设备所有者才能正常工作。【参考方案2】:

我很确定你不能同时禁用设置菜单。

你可以做的是研究移除状态栏(底部的那个)之类的东西。

查看类似:TabletBar Hider。我还没有测试过它,它还需要你找到一种让你的应用程序运行它的方法或一种在你的应用程序中实现它的方法。如果您的应用启动后状态栏就被隐藏了 - 我看不出如何进入设置菜单。

您可以查看 this 关于获得全屏的信息(但我不知道您是否已经尝试过/考虑过)。

【讨论】:

不能为设备生根。我知道如何通过杀死 systemUi 手动禁用状态栏,但对于日常使用来说太复杂了,必须在每次启动设备后完成。然后我有客户可以重启我无法抑制的设备的问题。 第二个获取全屏的链接仅适用于 Android 版本

以上是关于覆盖或禁用设置菜单的主要内容,如果未能解决你的问题,请参考以下文章

sap怎么显示合计

如何禁用右键单击事件或如何隐藏 Autodesk Forge 查看器上的上下文菜单

labview中制作一个选项卡按钮设置好背景,放入进去的控件怎么才能不被覆盖

如何覆盖 jQuery 函数或阻止它执行

禁用蒸汽覆盖

Angular:在更改和设置字段值时禁用字段