我正在尝试构建一个家长控制应用程序,它可以对 Android 设备中的其他应用程序应用限制。限制可以是这样的:-
我知道没有这样的 flutter 插件可用于此目的,这就是我希望为其开发一个插件的原因。根据我的理解,我们需要为Android设备调用本机android api,为iOS设备调用screentime api。我正在努力为 Android 设备实现。设备策略管理器文件(由 Google 开源)具有 setApplicationRestrictions 等方法,但此 api 的调用者应该是设备所有者或配置文件所有者。为了成为设备所有者,设备中的所有帐户都应该被删除,没有用户会希望这种情况发生。配置文件所有者创建工作配置文件,与家长控制不同。
我迷失在网上找到的大部分资源中。我只是希望我的应用程序(android)对其他应用程序应用限制。我需要帮助如何继续实施此实施。有办法实现这个吗?.
我研究了原生 android api,但由于设备所有者或配置文件所有者的限制,我无法使用它。
你的发现几乎是正确的。
Android 操作系统提供两种类型的控制。
使用 Android 设备管理应用程序进行有限控制。
Android sdk 提供了名为“DevicePolicyManager”的公共接口来将策略应用到设备。但这需要使您的应用程序成为“设备管理应用程序”
这将使您能够设置擦除数据、禁用相机等。一些第三方应用程序使用这些 API + 滥用绘制覆盖和“阻止”应用程序的可访问权限。其中大部分充其量只是hacky。
使用 DPC 应用程序完全控制
现在改为“Android管理API” 您创建设备设置应用程序,该应用程序充当设备所有者并完全控制设备群,并且还使用 DevicePolicyManager 界面, 这仅对企业应用程序有用。
您上面提到的用于设置限制或隐藏其他应用程序的 API 是完全控制的一部分。您必须是设备所有者(组织拥有的设备)。 因此,当前没有可用的 API 可以满足您在不构建 dpc 应用程序的情况下控制其他应用程序的需求 这需要在谷歌注册、获得批准、代码审查等等。