【问题标题】:Calling the finish() method of an Activity from a BroadcastReceiver从 BroadcastReceiver 调用 Activity 的 finish() 方法
【发布时间】:2011-07-06 10:25:21
【问题描述】:

我有 2 个活动(Activity1、Activity2)和一个 BroadcastReceiver 类

假设我们现在在 Activity2 上,我在其中设置了一个 AlarmManager 以在特定时间运行。

有没有办法在BroadcastReceiver的onReceive()中调用Activity2的finish()方法?

我的目标是从 Activity2 返回到 Activity1,而不在 onRecieve() 中启动新的 Intent。

注意:BroadcastReceiver 类没有在Activity2 的Activity 中注册。它在 AndroidManifest.xml 中注册。

【问题讨论】:

    标签: android methods android-activity broadcastreceiver


    【解决方案1】:

    您可以在 onReceive 方法上调用 finish()。请记住在 OnDestroy 上取消注册您的侦听器。如果 Activity1 已经被初始化,Android 将激活 Activity1。我假设您正在按顺序打开活动。

    【讨论】:

    • 这在广播接收器在活动中注册时有效。但是,我的 BroadcastReceiver 设置在类与 Activity 分开的位置,AndroidManifest.xml 处理注册。
    【解决方案2】:

    你可以使用Activity2class.finish();

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-04-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多