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);
}
}