是否可以阻止android中的任何应用程序

时间:2013-03-02 07:23:40

标签: android

我必须实现一些功能,我可以通过填写密码来阻止设备中安装的任何应用程序。 当我点击启动应用程序的图标时,它应该要求输入密码。 可能吗。请给出建议。

3 个答案:

答案 0 :(得分:2)

在Android中,这种行为在申请级别是不可能的。

虽然我有一个黑客方法,你可以尝试如下:

步骤:创建一项服务,该服务将持续检查顶层堆栈上正在运行的应用程序:

您可以使用以下代码检查顶部运行的当前应用程序(任何应用程序)包名称:

String packageName= getSystemService(Context.ACTIVITY_SERVICE).getRunningTasks(1).get(0)).topActivity.getPackageName();

现在您需要比较最受欢迎的应用程序的程序包名称,以确定这是否是您要阻止的应用程序。

假设您要阻止Android中的浏览器应用程序,那么当用户点击浏览器图标时,该应用将移动到堆栈顶部并且您正在运行的服务会识别它。

然后你需要在该应用程序上打开自己的Dummy Lock屏幕。这样,用户将无法访问该应用程序,如果用户试图按下虚拟锁定屏幕上的后退按钮,则需要覆盖背面按下并启动主屏幕意图。

这是一种破解创建可以锁定特定应用程序的应用程序: 我从Play商店反向设计了几个应用程序,他们也使用这种技术来执行此操作。

希望这会给你一个想法。

答案 1 :(得分:2)

  

阻止设备中安装的所有应用程序

您可以通过修改固件来实现此目的。

  

当我点击启动应用程序的图标时,它应该要求输入密码

如果您拥有INSTALL_SHORTCUT和UNINSTALL_SHORTCUT权限,也可以。然后你就可以做Launcher可以做的事了。以this link为例。

答案 2 :(得分:1)

由于Android是开源的,一切皆有可能,但这意味着你必须重写Android OS的自然行为。

并在您的设备上安装此“黑客”操作系统。 我不知道如何提供这种服务作为应用程序。