android - 如何在 Api 级别 7 (Android 2.1) 中近似 PendingIntent getActivities?

标签 android android-pendingintent android-2.1-eclair

我希望有一个针对 Android 2.1、API 级别 7 的应用程序,当用户点击已进入的 C2DM 通知时立即启动多个 Activity 。这是我目前用来启动我的 Activity 的方法:

public static PendingIntent getActivity (Context context, int requestCode, Intent intent, int flags)

这个方法只允许我把一个 Activity 放到堆栈上。我真正想做的是使用这种方法:

public static PendingIntent getActivities (Context context, int requestCode, Intent[] intents, int flags)

此方法报告仅适用于 API 级别 11,即 Android 3.0。我不想破坏与 2.1 的向后兼容性。谁能建议我如何在不依赖 Android 3.0 的情况下实现这种效果?我试过 looking for the source到这个新方法,但它似乎还不可用。

最佳答案

您要做的是拥有一个作为警报目标的单独 Activity ,并从那里构建 Intent 堆栈,如下所示。这可能很容易概括为非常类似于“getactivities”的东西——遗憾的是它不在兼容库中。

public class AlarmActivity extends Activity {

  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    Intent intent = new Intent(this, MainActivity.class);
    intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    startActivity(intent);

    intent = new Intent(this, ChildActivity.class);
    startActivity(intent);

    finish();
  }
}

关于android - 如何在 Api 级别 7 (Android 2.1) 中近似 PendingIntent getActivities?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5739595/

相关文章:

android - `canvas.clipRect` 和 `Region.Op.REPLACE` 的最佳替代方案是什么?

Android ContactsContract.Contact API 中缺少常量?

Android 应用程序无法在我的平板电脑上运行

java - Libgdx 跟随鼠标 |投影?

android - 应用内结算库存价格并不总是与用户打算购买时显示的货币相同

android - 什么是 android sdk 平台?对于某些 api 级别,我需要哪些包详细信息?

Android - PendingIntent 不调用 onCreate

android - IntentService 不会与 PendingIntent 一起调用

kotlin - 从 RecyclerView 适配器内部访问 AlarmManager

android - 修改 Button 时 onResume 出现 NullPointerException,为什么?