代码之家  ›  专栏  ›  技术社区  ›  Jarett Millard

有没有办法阻止Android应用程序被删除?

  •  12
  • Jarett Millard  · 技术社区  · 16 年前

    有人知道有没有办法阻止用户从Android手机上卸载应用程序,或者在删除时重新安装?在你解雇我之前,请知道我有一个应用程序,打算由家长/雇主等安装在手机上,并且有一个密码保护的设置屏幕;用户需要输入密码才能删除应用程序。

    5 回复  |  直到 12 年前
        1
  •  7
  •   EBGreen    16 年前

    如果您让它在卸载时向注册的电子邮件地址发送电子邮件警报,该怎么办?

        2
  •  6
  •   tsellon    16 年前

    关于卸载服务时的电子邮件通知主题--

    许多安全软件运行多个进程,这些进程相互监视,因此关闭系统更加困难。您可以对安装的两个服务执行类似的操作,每个服务都会监视是否安装了另一个服务。如果出现问题,他们可以发送电子邮件。

        3
  •  6
  •   Adam Davis    16 年前

    你能阻止他们删除你的应用程序吗?不

    但是你 可以 让它变得足够痛苦和困难,以至于它不值得,并包括表明它已被删除的警报。

    首先,我会修改软件,使其定期从远程服务器请求并成功响应加密挑战/响应-每天应该足够了,并且不会影响电池使用。通过这种方式,您的服务器可以知道它何时被禁用(可以作为额外的10美元/年服务费出售),您可以通知购买者。

    其次,我会在驱动程序级别将软件绑定到系统中,这样删除操作也会删除文本服务。文本应用程序使用的一些驱动程序或服务可以用您的自定义版本替换,一旦删除,将使文本应用程序变得无用。你很有可能已经以类似的方式连接到系统中,在旅行速度过快时阻止短信应用程序(和其他应用程序)。

    第三,我会考虑安装一个监控程序,它作为一个单独的进程运行(检查最新的病毒是如何操作的)。它将进行检查,以确保不仅应用程序仍在运行,而且正在运行最新版本,并且没有GPS模拟器或其他程序阻止应用程序获取正确的GPS数据。

    不过,我很好奇,你如何区分司机发短信和乘客座位上的朋友在司机手机上发短信。

        4
  •  4
  •   confiq    14 年前

    当你重新启动手机时,它会自动安装并阻止用户卸载(因为该文件夹中的每个应用程序都会列出以查看)。这就是移动提供商强迫用户使用他们的应用程序的方式。

    但是,用户始终可以通过root+将/system/app/装载到可写位置,然后删除来删除此应用。但“普通父母”不能这么做:)

    当做

        5
  •  3
  •   GEOCHET S.Lott    16 年前

    我非常怀疑这是可能的。Android的权限结构将让用户完全控制手机上发生的事情(在某种程度上),无法卸载应用程序将是一个相当大的安全风险。

    如果你修改了Android内核,这可能是可能的,但是如果你试图强迫最终用户做一些事情,那是个坏主意。

    也许有更好的方法来解决你的问题?如果应用程序中有一些必需的功能来阻止用户卸载它,这将是保留应用程序的一个小动机,但无法阻止用户删除他们真正不想要的东西。你可以让应用程序向一个单独的服务器报告正常运行时间,这样你就可以在应用程序被删除时收到通知,但我认为这是你能做到的。