【问题标题】:Lock other apps while my application runs [duplicate]在我的应用程序运行时锁定其他应用程序[重复]
【发布时间】:2012-08-19 17:10:14
【问题描述】:

可能重复:
Android: how does application Protector app work?

重述:APP Lock 和 Smart App Protector 等应用程序以某种方式在应用程序图标和应用程序之间建立了链接,并在它们之间放置了一个子例程 (?),因此在应用程序启动之前需要输入密码,而不是立即启动应用程序按下图标后。这是如何实现的?

【问题讨论】:

    标签: android


    【解决方案1】:

    通过编写自定义系统映像并将其刷新到未锁定的设备上。您所描述的内容在很大程度上被视为恶意软件行为,基本 Android 系统不允许这样做。

    你想完成什么?

    【讨论】:

    • 您熟悉智能应用保护器和应用锁吗?它们采用您授权的所有应用程序并使用密码保护它们,因此只能使用您选择的密码启动它们。我需要这样做。我不能使用它们,因为我需要它们不提供的附加功能,所以我正在编写自己的自定义应用程序。所以我需要知道的是,如果提供了正确的密码,我如何告诉 Android 仅启动某些应用程序?
    • 许多这些应用程序使用的机制在 Android 4.1 (Jellybean) 下不再工作。要正确实现这类事情,需要在平台级别添加设备管理 API:(developer.android.com/guide/topics/admin/device-admin.html)
    • 我们需要一个 Linux 类型的设置,系统用户可以创建一个本地用户,该用户是 chroot 并且只能访问系统用户定义的有限数量的应用程序。可悲的是,我们的员工正在使用手机做所有事情,除了他们应该用来做的事情。我安装了 Smart App Protector,但他们发现可以通过启动进入安全模式来卸载它。我将通知该公司继续删除 Android 手机并使用基于 Windows 的平板电脑。唯一安装的程序是我们业务所需的程序。谢谢!
    • @user1610260:对我来说,正确的解决方案是与一些 MDM 服务提供商合作。正如我在回答中建议的那样。
    【解决方案2】:

    Android 社​​区认为您尝试做的事情不太合乎道德,您的应用有可能最终被列为恶意软件。

    无论如何,这可以通过让您的应用程序进入全屏模式并禁用/覆盖主页按钮和后退按钮来完成。在极端情况下,您还可以定义一个 BroadcastReceiver 以在手机重新启动并启动完成时自动启动应用程序。

    这样,唯一可以在设备上运行的将是您的应用,因为即使用户关闭设备,BroadcastReceiver 也会在设备再次重启时立即启动应用。

    注意:在 ICS 版本之后无法覆盖 Home 按钮,但您仍然可以通过将其定义为 Launcher 来限制用户仅使用您的应用程序,这样按下 Home 按钮只会重新启动您的应用程序而不是将用户带到主屏幕。

    【讨论】:

    • 出于安全原因,您不能覆盖主页按钮
    • @Ahmad :哦,是的!你可以!我已经在我的一个应用中做到了。
    • 发布 ICS,变得有点困难。 HomeButton 不能在 ICS 中被覆盖,但您始终可以将您的应用程序标记为启动器。因此,当按下 Home 按钮时,设备第一次询问您要运行哪个启动器。如果您为您的应用程序选择“默认情况下”,则每次按下 Home 按钮时,它只会重新启动应用程序。因此,用户只能使用该应用程序并且无法离开它!
    • 这些都不会阻止应用程序运行,只是以通常的方式启动,但还有其他方式来运行应用程序,例如通过 ADB。值得庆幸的是,正如其他人所说,应用程序不能控制与它们没有合同的其他应用程序。
    • 好吧,如果您将亚行纳入其中,那么一切皆有可能。但是,一般来说,我认为没有太多日常应用程序用户是编码人员,因此直接从 ADB 运行命令对他们来说似乎有些牵强。我完全同意@Simon 所说的一切,但我只是在谈论普通的日常用户,而不是开发人员。 :)
    猜你喜欢
    • 2023-01-28
    • 1970-01-01
    • 2012-05-03
    • 2021-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-09
    • 2016-05-18
    相关资源
    最近更新 更多