有谁知道是否有办法阻止用户从 Android 手机上卸载应用程序或在删除时重新安装它?在你激怒我之前,请知道我有一个打算由父母/雇主/等人安装在手机上的应用程序。并具有受密码保护的设置屏幕;用户需要输入密码才能删除应用程序。
5 回答
如果您让它在卸载时向注册的电子邮件地址发送电子邮件警报怎么办?
不是没有修改内核,或者减少设备上的用户权限。把它想象成一台 Linux 计算机,手机用户拥有 root 权限。
你能阻止他们删除你的应用吗?不。
但是你可以让它变得非常痛苦和困难以至于它不值得,并包括表明它已被删除的警报。
首先,我会修改软件,使其定期从远程服务器请求并成功回答加密挑战/响应 - 每天应该足够了,并且不会影响电池使用。这样您的服务器就会知道它何时被禁用(可以作为额外的 10 美元/年服务费出售)并且您可以提醒购买者。
其次,我会在驱动程序级别将软件绑定到系统中,以便删除也删除文本服务。短信应用程序使用的某些驱动程序或服务可以替换为您的自定义版本,并且在删除时会使短信应用程序无用。很有可能您已经以类似的方式绑定到系统,以在旅行过快时阻止短信应用程序(和其他应用程序)。
第三,我会考虑安装一个作为单独进程运行的监控程序(查看最新病毒如何运行以获取线索)。它会检查以确保应用程序不仅仍在运行,而且还在运行最新版本,并且没有 GPS 模拟器或其他程序阻止您的应用程序获取正确的 GPS 数据。
不过,我很好奇你如何区分司机发短信和乘客座位上的朋友在司机手机上发短信。
-亚当
关于卸载服务时的邮件通知——
许多安全软件运行多个进程,相互监控,因此更难以关闭系统。您可以通过安装两个服务来执行类似的操作,每个服务都监视以查看是否安装了另一个。如果出现问题,他们可以发送电子邮件。
好吧,解决方案是将 /system/apps/ 挂载为可写并将您的应用程序放在那里一次。
当您重新启动手机时,它会自动安装它并阻止用户卸载(作为该文件夹中的每个应用程序,列出它以查看它)。这就是移动提供商强迫用户使用他们的应用程序的方式。
但是,用户始终可以通过 root + 挂载 /system/app/ 以可写然后删除来删除此应用程序。但是“普通父母”不能这样做:)
问候
PS这个问题是两年前的问题,我刚刚注意到它......:S
我非常怀疑这是可能的。Android 的权限结构将让用户(在某种程度上)完全控制手机上发生的事情,并且无法卸载应用程序将是一个相当大的安全风险。
如果您修改了 Android 核心,这可能是可能的,但如果您试图将某些东西强加给最终用户,那是个坏主意。
也许对你正在做的事情有更好的方法?如果应用程序中有一些必需的功能来阻止用户卸载它,那将是保留应用程序的一个小动机,但没有办法阻止用户删除他们真正不想要的东西。您可以让应用程序向单独的服务器报告正常运行时间,这样您就可以在应用程序被删除时收到通知,但我认为这是您所能得到的。