2

我面临一些未决意图的问题。我使用通知管理器设置了一些待处理的意图。当用户点击它们时,这些通知会启动一个活动。我在未决意图中使用了 Intent 的一些额外内容。这适用于通知单击。

Notification notification = new Notification(icon, tickerText, when);
    Context context = getApplicationContext();

Intent intentOptionDialog = new Intent(Safety_Check_Service.this, Dialog_Safety_Check.class);
    intentOptionDialog.putExtra("startID",startId);
    intentOptionDialog.putExtra("CheckInID", CheckInId);
    intentOptionDialog.putExtra("Frequency", Frequency);
    intentOptionDialog.putExtra("flagFirstShedule", true);

        stopID = (startId + 17);

    intentOptionDialog.putExtra("stopID", stopID);

    PendingIntent contentIntent = PendingIntent.getActivity(Safety_Check_Service.this, DIALOG_ID, intentOptionDialog, 0);

但我的问题是我想从另一个活动中启动这些待处理的意图。创建待处理的意图。如何从另一个活动中启动这些待处理的意图,以及如何获得使用待处理的意图设置的 Extras?

请帮我。

4

2 回答 2

5

我想你这里有两件:

  1. 尝试使用我在跟踪 Android 中发送的短信中给出的答案:在创建时添加FILL_IN_SELECTOR标志PendingActivity以强制它携带额外内容。
  2. 一旦你有了PendingIntent,你就可以调用该send方法来触发它。
于 2012-04-18T06:08:32.030 回答
0

您可以在 Intent 中添加数据,然后再将其传递给它PendingIntent

首先创建一个意图并添加数据

    val pendingIntent = Intent(context, MainActivity::class.java)
    pendingIntent.putExtra(PAGE_KEY, HOME.name)

现在从带有更新标志的意图创建待处理的意图PendingIntent.FLAG_UPDATE_CURRENT

       PendingIntent.getActivity(
                    context, 0, pendingIntent, PendingIntent.FLAG_UPDATE_CURRENT)

现在在启动的活动 onCreate 方法中像这样访问它

  if (intent != null) {
            val pageValue: String? = intent.getStringExtra(PAGE_KEY)
            pageValue?.let {
             // do whatever you want

            }
于 2019-05-08T10:12:07.267 回答