如何通过PendingIntent将数据传递给广播接收器

时间:2017-03-24 09:42:33

标签: android android-intent broadcastreceiver alarmmanager android-pendingintent

我正在开发警报应用程序,在警报设置时在单独的活动中显示通知和自定义消息。我在向广播接收器发送标识符时遇到问题,这对于从数据库获取数据很有用。 我已经浏览了各种博客,stackoverflow帖子,但无法找到可行的解决方案。请帮助我。

我的日程安排功能。

void setAlarm(int tag, long time) {
        Intent myIntent = new Intent(context, AlarmReceiver.class);
        myIntent.putExtra("TEST", "dummy");
        myIntent.putExtra("ID",tag);
        pendingIntent = PendingIntent.getBroadcast(context, tag, myIntent, Intent.FILL_IN_DATA);
        alarmManager = (AlarmManager) context.getSystemService(ALARM_SERVICE);
        alarmManager.set(AlarmManager.RTC_WAKEUP, time, pendingIntent);
    }

我的广播接收器

 @Override
    public void onReceive(Context context, Intent intent) {
        logHelper.printLog("Alarm Service "+intent.getIntExtra("ID",0)+ intent.getStringExtra("TEST"));
        ComponentName comp = new ComponentName(context.getPackageName(),
                AlarmService.class.getName());
        startWakefulService(context, (intent.setComponent(comp)));
        setResultCode(Activity.RESULT_OK);
    }

如果需要进一步的信息,请告诉我。

0 个答案:

没有答案