2016-07-27 52 views
1

我試圖通過AndroidManifest記錄之前通過意向將數據發送到我的廣播。當我在我的通知點擊觸發廣播我的方法來獲得空OnReceive(Context context, Intent intent)BroadcastReceiver上的數據爲空

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 
} 
+0

我看到你在向'onClickPending'提供'intentOnClick'後使用了putExtra。嘗試之前做到這一點。 – Shaishav

+0

null反正@Shaishav –

回答

1

你必須把額外的Intent之前您撥打電話到PendingIntent.getBroadcast(),否則他們將不會在Intent實際交付。

+0

酷,它的工作很好:D –