在单独的“窗口”中开始活动

时间:2018-06-04 20:27:48

标签: android

我一直在努力解决这个问题已有一段时间了。 基本上我有一个应用程序,它将用于启动pendingIntent警报。用户将设置警报的特定时间,最终触发警报,从而开始新的活动。

我的问题是,挂起意图的这个新启动活动在与mainActivity(用户设置警报等)相同的“窗口”中打开。 我想将这个新活动作为一个新的独立窗口,与mainActivity完全断开。

Intent myIntent = new Intent(getApplicationContext(), AlarmReceiver.class);
Bundle bundle = new Bundle();
bundle.putLong("AlarmNoteID", note.getId());
myIntent.putExtras(bundle);
PendingIntent pendingIntent = PendingIntent.getBroadcast(getApplicationContext(), (int) note.getId(), myIntent, 0);
manager.set(AlarmManager.RTC_WAKEUP,cal_alarm.getTimeInMillis(), pendingIntent);

并且AlarmReceiver类包含以下

public class AlarmReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {

        DBHelper_general DBInstance = DBHelper_general.getsInstance(context);
        Bundle bundle = intent.getExtras();
        Long ID = bundle.getLong("AlarmNoteID");

        if (DBInstance.getNote(ID) != null) {
            Intent intentNewAct = new Intent();
            intentNewAct.putExtra("AlarmNoteID", ID);

            intentNewAct.setClassName("com.example.myPackage", "com.example.myPackage.AlarmActivatedActivity");
            intentNewAct.setFlags(Intent.FLAG_ACTIVITY_MULTIPLE_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
            context.startActivity(intentNewAct);
        }
    }
}

1 个答案:

答案 0 :(得分:0)

经过一些试验和错误后,我似乎现在已经开始工作了。 缺少标志:意图需要Intent.FLAG_ACTIVITY_NEW_DOCUMENT。