从报警广播接收器检索请求代码



我正在通过它向警报管理器发送请求代码

 Intent broadcast_intent = new Intent(this, AlarmBroadcastReceiver.class);
        PendingIntent pendingIntent = PendingIntent.getBroadcast(this, rowId,  broadcast_intent, PendingIntent.FLAG_UPDATE_CURRENT);

想知道,在广播接收器中,我如何检索我用来设置挂起意图的请求代码 (rowId)?

谢谢

Intent broadcast_intent = new Intent(this, AlarmBroadcastReceiver.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(this, rowId,
                              broadcast_intent,PendingIntent.FLAG_UPDATE_CURRENT
                              );

最好是传递额外的内容,同时在getBroadcast() - broadcast_intent.putExtras("REQUESTCODE",rowId) ;内引用broadcast_intent,如下所示:

PendingIntent pendingIntent = PendingIntent.getBroadcast(this, rowId,
                              broadcast_intent.putExtras("REQUESTCODE",rowId), 
                              PendingIntent.FLAG_UPDATE_CURRENT);

创建待定意图时使用的请求代码并非旨在传递给接收方,而是作为创建待定意图的应用能够管理多个待处理意图的一种方式。

假设警报应用需要创建多个挂起的意向,稍后需要取消或修改其中一个。 请求代码用于标识要取消/修改的请求代码。

要传递数据,请使用上述 putExtra。 请注意,您可能非常希望将 RowId 用于请求代码和额外数据。

我正在寻找同样的东西。一种方法是在意图中将请求代码作为额外代码传递。

intent.putExtra("requestcode", rowId);

但是,如果应用被终止,则无法检索 Intent 传递的数据。

所以你需要将rowId作为一个URI传递,并使用Intent Filter。

最新更新