我有一个名为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.
}
}
}
答案 0 :(得分:1)
GameTray的onResume方法包含所有保存的东西。
onResume()
是一个属于Activity生命周期的方法,当Activity进入前台时调用它,如果你想调用它,你应该启动/恢复活动。
但为什么不创建一个单独的类或方法来完成所有保存工作,并在onResume()
和onReceive()
中调用。