如何从Receiver调用活动的onResume方法

时间:2013-08-09 16:04:42

标签: android broadcastreceiver onresume

我有一个名为GameTray的活动,其中的图纸已经出来了。我有一个ScreenReceiver,它扩展了BroadcastReceiver,用于检测屏幕锁定和手机锁定。我想在GameTray活动中发生屏幕锁定时保存数据。 GameTray的onResume方法包含所有保存的东西。所以我有一个疑问,如何在覆盖onReceive方法的同时在ScreenReceiver类中调用GameTray活动的onResume方法?我在这里附加了ScreenReciever的源代码。提前致谢

公共类ScreenReceiver扩展了BroadcastReceiver {

@Override
public void onReceive(Context context, Intent intent)
    {
      if (intent.getAction().equals(Intent.ACTION_SCREEN_OFF))
      {    
           // Log.v("$$$$$$", "In Method:  ACTION_SCREEN_OFF");
            // onPause() will be called.


      }
      else if (intent.getAction().equals(Intent.ACTION_SCREEN_ON))
      {
           // Log.v("$$$$$$", "In Method:  ACTION_SCREEN_ON");
            //  HERE I WANT TO CALL THE ONRESUME METHOD OF THE ACTIVITY GAMETRAY.


      }
      else if(intent.getAction().equals(Intent.ACTION_USER_PRESENT))
      {
          //  HERE I WANT TO CALL THE ONRESUME METHOD OF THE ACTIVITY GAMETRAY.
      }

    }

}

1 个答案:

答案 0 :(得分:1)

  

GameTray的onResume方法包含所有保存的东西。

onResume()是一个属于Activity生命周期的方法,当Activity进入前台时调用它,如果你想调用它,你应该启动/恢复活动。

但为什么不创建一个单独的类或方法来完成所有保存工作,并在onResume()onReceive()中调用。