我希望我的推送通知有两个按钮,但我找不到任何地方如何这样做.任何人都可以解释如何在Android中的推送通知中添加按钮吗?
NotificationCompat.Builder notification; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_verify); notification=new NotificationCompat.Builder(this); notification.setAutoCancel(true); /* blah blah blah */ } public void onVerify(View v) { /* some code */ if(example){ /* another piece of code */ } else{ String num=data.getString("Phone"); this.defineNotification(num); //Log.i(TAG,"here "); Intent i=new Intent(this,VendorDetails.class); i.putExtra("Phone",num); startActivity(i); } } public void defineNotification(String num) { notification.setContentTitle("Successful"); notification.setContentText("Hi, I am being displayed now"); notification.setWhen(System.currentTimeMillis()); notification.setSmallIcon(R.mipmap.ic_launcher); Intent i=new Intent(this,OrderTypes.class); PendingIntent pi=PendingIntent.getActivity(this, 0, i, 0); notification.addAction(R.mipmap.ic_launcher,"Accept",pi); notification.addAction(R.mipmap.ic_launcher, "Decline", pi); NotificationCompat.MediaStyle mediaStyle=new NotificationCompat.MediaStyle(); MediaSessionCompat mediaSession=new MediaSessionCompat(this,TAG); mediaStyle.setShowActionsInCompactView(1); mediaStyle.setMediaSession(mediaSession.getSessionToken()); notification.setStyle(mediaStyle); Intent intent=new Intent(this,VendorDetails.class); intent.putExtra("Phone",num); PendingIntent pendingIntent=PendingIntent.getActivity(Verify.this,0,intent,0); notification.setContentIntent(pendingIntent); NotificationManager nm=(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); nm.notify(uniqueID,notification.build()); //Log.i(TAG, "coming here in notification"); }
我正在使用MediaSessionCompat而不是MediaSession类.请检查是否有错误.
你想要这样的东西吧?
对于通知,只需使用该.addAction(R.drawable.MYDRAWABLE, "BUTTON", INTENT)
方法.
Notification notification = new Notification.Builder(context) // Show controls on lock screen even when user hides sensitive content. .setVisibility(Notification.VISIBILITY_PUBLIC) .setSmallIcon(R.drawable.NotIcon) //HERE ARE YOUR BUTTONS .addAction(R.drawable.ic_prev, "BUTTON 1", myIntentToButtonOneScreen) // #0 .addAction(R.drawable.ic_pause, "BUTTON 2", myIntentToButtonTwoScreen) // #1 .addAction(R.drawable.ic_next, "BUTTON 3", myIntentToButtonThreeScreen) // #2 // Apply the media style template .setStyle(new Notification.MediaStyle() .setShowActionsInCompactView(1) .setMediaSession(mMediaSession.getSessionToken()) .setContentTitle("Example for you") .setContentText("Example for you") .setLargeIcon(ButtonExampleIcon) .build();
看看这个:
http://developer.android.com/guide/topics/ui/notifiers/notifications.html
请记住这一点,为了自定义您的通知,请使用该.build
方法.这就是我们在给你的代码中所做的.如果这有帮助,请告诉我:)