小编Adr*_*his的帖子

从广播接收器发起的活动,尽管已经完成,仍保留在最近的任务中

我有两个我无法解决的活动的问题:

我有一个A活动,它使用警报管理器编程警报,警报接收器在3秒钟内启动一个只有完成按钮的B活动.

如果我从A编程报警管理器并按下后退按钮完成此活动,则会在3秒内显示B活动.一切正常.问题如下:如果我通过启动器重新打开应用程序,系统将启动A活动,但如果我通过长按主页按钮(最近使用的任务)启动应用程序,我总是打开B活动.我需要在完成B活动时,如果我从任何地方重新打开应用程序,A活动应该打开.

我试图将noHistory添加到活动B,但问题仍在继续.

以下是A活动的代码:

public class ActivityA extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_a);

    Button b=(Button) findViewById(R.id.initTimer);
    b.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            programTimer();
        }
    });
}

private void programTimer() {
    AlarmManager manager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
    Intent intent = new Intent(this, AlarmReciver.class);
    PendingIntent pIntent = PendingIntent.getBroadcast(this, 1, intent,  PendingIntent.FLAG_CANCEL_CURRENT);
    manager.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis()+3000 , pIntent);
}
Run Code Online (Sandbox Code Playgroud)

}

B活动:

public class ActivityB extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_b);

    Button button= …
Run Code Online (Sandbox Code Playgroud)

android broadcastreceiver android-activity back-stack

5
推荐指数
1
解决办法
820
查看次数