Class 在接收到来自另一个班级的广播信号时,将活动放在前面

Class 在接收到来自另一个班级的广播信号时,将活动放在前面,class,android-activity,broadcastreceiver,Class,Android Activity,Broadcastreceiver,我有一个主要的活动,它只是注册广播接收器,以便用户重新发送操作。我已经在另一个类中编写了接收广播信号的代码,如下所示 public class ReceiverScreen extends BroadcastReceiver{ @Override public void onReceive(Context context, Intent intent) { // TODO Auto-generated method stub

我有一个主要的活动,它只是注册广播接收器,以便用户重新发送操作。我已经在另一个类中编写了接收广播信号的代码,如下所示

 public class ReceiverScreen extends BroadcastReceiver{
      @Override
      public void onReceive(Context context, Intent intent) {
           // TODO Auto-generated method stub
           if(intent.getAction().equals(Intent.ACTION_USER_PRESENT))
           {
                //?
           }
      }
 }
场景:当我运行它运行的程序时,我没有退出程序,只是按下设备上的home(主页)按钮,即应用程序仍在运行

问题:当我锁定和解锁手机时,会显示手机的主屏幕。但我希望我的应用程序在解锁手机后显示出来。我应该在上面的if条件中写些什么,以便我的应用程序首先可见


请帮助…

您可以在接收时的
中写入以下代码

因此,当屏幕解锁时,您的应用程序将接收到
操作\u用户\u显示
广播,从那里您可以启动应用程序的活动

需要标记
Flag_ACTIVITY_NEW_TASK
,否则您的应用程序将因
java.lang.RuntimeException
而崩溃,因为从活动上下文外部调用
startActivity
()需要标记
Flag_ACTIVITY_NEW_TASK
标记

public void onReceive(Context context, Intent intent) {
        if(intent.getAction().equals(Intent.ACTION_USER_PRESENT))
        {

            Intent intent = new Intent(context,YourActivity.class);
            intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            context.startActivity(intent);
        }
    }