当前位置: 首页 > 知识库问答 >
问题:

如何使用PendingEvent在BroadCastReceiver类上发送额外内容?

崔恺
2023-03-14

我需要你的帮助!当我在我的意图中加入额外内容,然后我用这个意图来创建一个待定的意图时,它就不起作用了!我不参加广播接收机课程。

public class Recordatori_Visita extends Activity {
    public void setAlarm(Calendar targetCal) {

        Intent intent = new Intent (Recordatori_Visita.this, Receiver.class);
        Long targetCal2 = targetCal.getTimeInMillis();  
        intent.putExtra("targetCal",targetCal2);
        intent.putExtra("n",n);
        PendingIntent pendingIntent = PendingIntent.getBroadcast(Recordatori_Visita.this, 1, intent, intent.FILL_IN_DATA);

        AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE);
        alarmManager.set(AlarmManager.RTC_WAKEUP, targetCal.getTimeInMillis(),pendingIntent);
    }
}

...

public class Receiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context k1, Intent k2) {
    // TODO Auto-generated method stub 

        Bundle bolsaR = k2.getExtras();
        Long extras = bolsaR.getLong("targetCalKey");
        int n= bolsaR.getInt("n");

        NotificationManager notificationManager = (NotificationManager) k1.getSystemService(Context.NOTIFICATION_SERVICE);
        ...
        notificationManager.notify(1,myNotification);

   }
}

我已经删除了代码,所有使用的变量都被创建了,我找不到解决方案。如果我没有在intent中添加额外的数据,它可以正常工作,但是当我添加额外数据时,它就不工作了,因为没有通知。谢谢

共有1个答案

曹经业
2023-03-14

尝试在getBroadcast()函数中将系统时间设置为requestCode

int requestID = (int) System.currentTimeMillis();
PendingIntent pendingIntent = PendingIntent.getBroadcast(Recordatori_Visita.this, requestID, intent, intent.FILL_IN_DATA);
 类似资料:
  • 我试图在我的JavaFX应用程序中发送一封电子邮件,一切工作正常,电子邮件被发送到收件人,当我在IDE (InteliJ)中运行它时,没有出现异常和错误,但当我在InteliJ之外运行该应用程序时,它不工作。我制作了一个简单的登记表,将字段中的数据保存到我的数据库中: 下面是发送电子邮件的代码: 在InteliJ中一切正常,但是void sendEmail在runable jar中不工作。进口:

  • 通常,对于不同的成员,操作将具有相同数量的参数,即签名看起来非常相似。我的问题是:如果一个成员需要本质上相同的操作,但有一个额外的参数(可能只是一个隐式的:基于上下文修改操作的东西),会发生什么? 有没有一种方法可以做到这一点,而不定义一个全新的(类似的)类型类?

  • 我试图使用RESTAssuret将“application/octet-stream”内容类型发送到RestAPI。但是它失败了,并抛出错误,比如:不知道如何将×××××编码为字节流。我曾尝试使用encoderConfig().encodeContentTypeas()方法,但此meyhod不适用于RestAssured。请建议是否有任何其他方法来解决这个问题。

  • 所有的 我编写了一个服务来更新系统状态,我使用start Foreground将服务放在前台,还向其添加了通知。在通知中,我使用remoteView拥有三个带有三个OnClickPendingIntent的图像。其中一个正在发送回服务,并执行通知更新代码。 创建通知的代码: 接收到意图后更新通知的代码: 我的问题是:调用我的更新功能后,通知图像实际上发生了更改;然而,通知面板仍然存在!!它不会像开

  • 我已经创建了PHP应用程序,并使用Heroku进行了部署。在应用程序中,我有联系形式发送邮件到我的gmail帐户。为了实现这一点,我编写了以下PHP代码 我的php脚本正在执行。但它没有发送邮件,而是显示。有谁可以帮助实现联系表单使用PHP?