【问题标题】:Android restart app in backgroundAndroid 在后台重启应用
【发布时间】:2012-05-31 19:17:11
【问题描述】:

经过一些研究,我发现只有一种方法可以重新启动应用程序并将其从后台移至前台。他们说我应该使用服务来做到这一点。但是所有的答案都是针对 developer.android。而且我还不能使用developer.android。不要问为什么。

我想要什么?
当用户以某种方式离开我的应用程序(转到另一个应用程序、菜单或转到设置)时,使用 BroadcastReceiver 或服务收听它。然后让我的应用回到前台

到目前为止我做了什么?
我尝试了一些代码 sn-ps 但他们没有给我解决方案。我想我不了解服务和广播接收器的基础知识。这是我坚持的唯一一点。

我相信这将是几行代码。我正在等待你们的帮助。

【问题讨论】:

  • 请编辑您的问题,将所有出现的代词“it”替换为您尝试引用的名词。
  • 换句话说,您想让您的应用程序始终处于领先地位吗?或者你想制作自己的启动器/homeapp?
  • 它基本上是一个启动器,只允许授权人员进入设置等。但例如,未经授权的用户可以使用底部的系统栏进入设置(这是我不想要的) 并且当未经授权的用户这样做时,我想返回我的应用程序。所以我不会让任何未经授权的用户更改设置或做任何其他事情。
  • @zbgokalp:Sure Lock 似乎实际上是在用他们自己的启动器替换主启动器(默认锁定它;然后你不能在没有密码的情况下回到主启动器)。
  • 我想这就是为什么我从来没有得到正确答案的原因。但是,书籍作者当然不知道这些功能。他们只知道和写基础知识。对不起那些读者。抱歉,我忘了在我的问题标题中添加“这仅适用于主要编码人员”。你可能会去做一些计算和报告,反正没人会在意。最后,主要的编码人员并不认为这是安全漏洞。

标签: android background-foreground


【解决方案1】:

这绝对是可能的(Surelock 做到了)。但我猜你不能使用BroadcastReceiver 来做这件事,因为启动应用程序时系统没有发送广播。

您可以通过从您的服务启动您的 Activity 意图来将您的 Activity 置于前台。但您面临的挑战是确定何时应该开始您的活动。

如果您想“始终在顶部”运行单个活动,则可以使用this 技术。它甚至不需要服务实现。

希望这能解决您的一些问题。

【讨论】:

  • 感谢您的回答。那是正确的答案,我投票并检查了它。但我现在使用不同的方法来防止用户去我的应用程序以外的任何地方。也很高兴听到真正了解编码和解决方法的人的意见:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多