5

我想制作一个安全应用程序,万一被盗或丢失,我的应用程序必须在没有密码的情况下卸载。是的,可以制作这样一个可以在卸载之前获取密码的应用程序。我的朋友Aditya Nikhade制作了这个应用程序 :)。但他没有给我这个秘密食谱:( 从谷歌 Play 安装这个应用程序Findroid。在这个应用程序首先你需要解锁你的应用程序然后只有你可以卸载它。所以请帮助我如何破解这种技术..我搜索并得到了一些不完整的答案,因为我们可以声明一个PACKAGED_REMOVED类型的接收器,但我想知道如何如果我的应用程序正在被卸载,我会停止。我离解决方案有点近。我正在设备管理员上工作/学习. 如果有人有,请粘贴代码片段。非常感谢您提前....!!!

4

2 回答 2

2

不幸的是,ACTION_PACKAGE_REMOVED意图将发送给除您自己之外的所有接收者。

我认为最接近您所寻找的是 2.2 中引入的设备管理功能。

应用程序注册为设备管理员后,除非未注册,否则无法卸载。这将防止应用程序被卸载。

虽然设备管理 API 不允许对此特定功能进行密码保护,但您可以对应用程序进行密码保护,以防止有人篡改应用中的设备管理功能。

因此,每当用户尝试更改设备管理功能时,您都可以提示用户输入密码。

当试图篡改您的应用的设备管理员权限时,将这些操作添加到您的清单以触发应用

    <intent-filter>
        <action android:name="android.app.action.DEVICE_ADMIN_ENABLED" />
        <action android:name="android.app.action.DEVICE_ADMIN_DISABLED" />
    </intent-filter>

在此操作上,您可以使用密码保护!

于 2012-11-16T10:33:49.177 回答
0

我认为它应该运行后台服务。否则,未运行的应用程序将没有任何机会发现自己发生了什么。我不确定如何捕捉“PACKAGE_REMOVED”事件,但它应该来自作为系统服务运行的其他元素。因此,强制该服务停止的系统可能会被捕获。

于 2012-11-16T10:17:32.327 回答