android - BroadcastReceiver 上的数据为空

标签 android android-intent broadcastreceiver

在被 AndroidManifest 记录之前,我正在尝试通过 Intent 将数据发送到我的广播。当我单击我的通知以触发广播时,我在方法 OnReceive(Context context, Intent intent)

中得到 null
Intent intentOnclick = new Intent(Intent.ACTION_SYNC, null, context, NotificationButton.class);
PendingIntent onClickPending = PendingIntent.getBroadcast(context, 0, intentOnclick, 0);

notificationView = new RemoteViews(context.getPackageName(), R.layout.download_notification);
intentOnclick.putExtra("test", notificationView);
intentOnclick.putExtra("test1", 1);

builder = new NotificationCompat.Builder(context)
    .setSmallIcon(R.drawable.ic_launcher)
    .setAutoCancel(true)
    .setContent(notificationView);

notificationView.setProgressBar(R.id.download_progress, 100, 0, true);
notificationView.setTextColor(R.id.title_notification, Color.BLACK);
notificationView.setOnClickPendingIntent(R.id.play_or_pause_btn, onClickPending);

我的广播接收器:

 @Override
    public void onReceive(Context context, Intent intent) {

        RemoteViews remoteViews = intent.getParcelableExtra("test");
        int test = intent.getIntExtra("test1", 265);
        // return null twice object
}

最佳答案

在调用PendingIntent.getBroadcast()之前,您必须将extras放入Intent ,否则它们不会在实际交付的 Intent

关于android - BroadcastReceiver 上的数据为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38621935/

相关文章:

android - onReceive 在 BroadcastReceiver 中为 android 中的网络监听器调用了两次

Android:如何不断更新/将值从一个 Activity 传递到另一个 Activity ?

java - Android Activity Stack 中的流程不同?

android - ionic cordova构建Android失败

android - 安卓自动翻译工具

安卓 O : Background execution not allowed: Custom broadcast with permission

java - 多个警报广播接收器android

java - 如何?监听位置设置是否已打开(Android 应用程序)

java - 如何从 ValueEventListener Firebase 检索数据

Android 从 RGB 二维数组创建位图