【问题标题】:How to implement Android BroadcastReceiver如何实现Android BroadcastReceiver
【发布时间】:2012-09-29 03:09:25
【问题描述】:

我创建了一个示例应用程序。在我的应用程序中,我有 4 个Activitys 和 1 个BroadCastReciever 在后台运行。在这里我写了服务,目的是当用户解锁屏幕时,我运行我的应用程序。除了这个,一切都很好:

当我运行我的应用程序时,我正在进行第三个活动。用户不再与屏幕交互,因此设备会自动锁定屏幕。现在我解锁屏幕意味着,应用程序从第一个活动开始运行。我需要从用户上次交互的活动中运行应用程序(例如,如果用户与第三个活动交互,我需要在屏幕解锁时显示第三个活动)。

【问题讨论】:

  • 请同时上传代码。
  • 在下面查看我的答案。您可能需要区分您是如何进行第一个活动的。例如,是否是 onResume,调用 onStart() 与 onCreate(bundle) 等以了解它是否在应用程序的初始启动时。
  • 但是对于初学者来说,只需将当前活动名称存储在 SharedPreferences 中。那是它所属的地方。那么唯一的挑战就是确定您进入 MainActivity 是否是在简历上等等,还是用户在那儿导航。
  • @Aerrow 你可以参考这个stackoverflow.com/questions/1450019/…

标签: android broadcastreceiver android-activity android-service


【解决方案1】:

没问题,使用 SharedPreferences 并存储一个 currentActivityName。当你通过 onCreate 或 onStart() 进入一个新的 Activity 时更新这个。即使应用程序关闭,该值也会保留。一旦您检测到您的入口点,您只需在应用返回时 startActivity(activityName)。

【讨论】:

    【解决方案2】:

    当您从一个活动移动到另一个活动时不要完成活动,并在 android 清单文件中添加 WAKE_LOCK 权限

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-11-25
      • 2021-09-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-24
      • 1970-01-01
      相关资源
      最近更新 更多