我面临着待处理意图的一些问题。我使用Notification Manager设置了一些Pending Intents。这些通知在用户单击它们时启动活动。我在待处理的意图中使用了一些额外的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);
但我的问题是我想从另一个活动中启动这些待处理的意图。待定意图已创建。我如何从其他活动中获取这些未决意图?如何获得使用待定意图设置的额外内容?
请帮帮我。
答案 0 :(得分:3)
我认为你在这里有2件:
FILL_IN_SELECTOR
时添加PendingActivity
标记,以强制它随身携带额外内容。PendingIntent
后,您只需拨打send
方法即可启动它。答案 1 :(得分: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
}