【发布时间】:2018-01-25 07:29:42
【问题描述】:
我们公司的智能手机上安装了一些 Android 应用程序,搭载 Android 7。
有时我们的用户会卸载这些应用程序或使其难以正常使用。
我们要求我们的 Android 开发人员调查阻止用户使用的可能性
- 卸载应用
- 停止服务
- 关闭移动数据或 WIFI 服务
他们回答说根本不可能做到。
嗯...我们喜欢为特殊的公司用途配置 Android 设备,并具有如上所述的严格限制。
是否可以使用 Android SDK 进行归档?有没有可能做?
谢谢!
--------- 更新 #1 ------------------------------------ -------------
我认为最好的办法是使用 Android 设备管理 API https://developer.android.com/guide/topics/admin/device-admin.html
并将其与描述的方法混合
Require a password to uninstall/remove application
Android - Start service on boot
Application without app launcher icon
我的意思是,一旦我们安装了自定义企业应用程序 APK,我们也可以安装没有 ICON 并且具有“特殊”名称的应用程序/服务,因此用户无法通过他的知识通过图标(根本没有图标)和服务名称(它应该模仿原生 Android 服务)。此非图标服务应监听用户所做的活动,并通过激活 PIN/密码屏幕阻止执行他进行危险活动。好吧,用户不应该知道 PIN/PASSWORD。
这种解决方法看起来像是一种合法的钓鱼方式来避免 打破我们需要的东西,比如
- 卸载应用
- 停止服务
- 关闭移动数据或 WIFI 服务
--------- 更新 #2 ------------------------------- -
结论是固件中唯一包含应用程序的唯一方法是 使应用程序不可删除 100%。没有其他选择。
--------- 更新 #3 和最后一个 ------
【问题讨论】:
-
基本上答案是否,因为您不应该阻止用户卸载应用程序。但是有一些服务,称为
MDM systems,其目的是管理用户的应用程序。以这种方式进行调查。 -
@VladMatvienko 很好的抓住弗拉德!请提供更多详细信息。
-
您可以将应用程序设为系统应用程序,只有root设备才能卸载应用程序
-
@Zacktamondo 听起来不错。我在这里找到了类似的方法androidauthority.com/… 你介意用一些链接发布你的答案吗?如何为 Android 7 和 Android Studio 3 做到这一点?
-
您需要的功能称为"device admin"。确实可以对设备使用设置一些限制,包括无法删除“管理员”应用程序。但是请注意,在给定时间只能有 一个 活动的管理应用程序。