2016-07-27 6 views
1

AndroidManifestで録画する前にインテントからブロードキャストにデータを送信しようとしています。私は放送をトリガするために、私の通知をクリックすると、私はこの方法ではnullを取得OnReceive(Context context, Intent intent)BroadcastReceiverのデータが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); 

私BroadcastReceiver:

@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 –

関連する問題