从警报启动特定 Activity - 即使应用程序已关闭

Launching a specific Activity from an Alarm - even when application is closed

我正在寻找使用 AlarmManager 来启动一个特定的 activity(即不是我的主要那个),但似乎无法弄清楚如何去做。

我可以使用在另一个答案中找到的代码来启动主要 activity(应用程序正常启动时打开的那个),但我想在我的应用程序中启动特定的 activity .

有办法吗?我看到的所有答案都只涉及将应用程序打开到其主 activity。

这是我目前的代码:

public class Alarm extends BroadcastReceiver {

@Override
public void onReceive(Context context, Intent intent) {
    Intent i = context.getPackageManager().getLaunchIntentForPackage(context.getPackageName());
    i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_REORDER_TO_FRONT | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
    context.startActivity(i);
}

感谢您的帮助。

编辑:如果这不可能,有没有办法告诉 MainActivity 我正在打开以执行可以复制我的 Alarm Activity 的特定代码部分希望跳到? IE。如果这是一个限制,也许打开主 activity 然后 运行 代码打开警报 activity 如果主 activity "knows" 它是由报警。

试试这个,这里给出的基本解决方案 AlarmManager, BroadcastReceivers, Activities

只需构建一个常规 Intent:

Intent i = new Intent(context, ActivityToLaunch.class);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_REORDER_TO_FRONT | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
context.startActivity(i);

ActivityToLaunch.class 替换为应该启动的 Activity 的 class 名称。