我可以使用3个操作创建通知,但是我想在单击每个操作时调用方法。
Intent intent = new Intent( this, MainActivity.class );
PendingIntent pIntent = PendingIntent.getActivity( this, (int) System.currentTimeMillis(), intent, 0 );
// Build notification
// Actions are just fake
Notification noti = new Notification.Builder( this )
.setContentTitle( "New mail from " + "test@gmail.com" )
.setContentText( "Subject" ).setSmallIcon( R.drawable.icon )
.setContentIntent( pIntent )
.addAction( R.drawable.icon, "Call", pIntent )
.addAction( R.drawable.icon, "More", pIntent )
.addAction( R.drawable.icon, "And more", pIntent ).build();
NotificationManager notificationManager = (NotificationManager) getSystemService( NOTIFICATION_SERVICE );
// hide the notification after its selected
noti.flags |= Notification.FLAG_AUTO_CANCEL;
notificationManager.notify( 0, noti );
我该怎么做?
答案 0 :(得分:1)
步骤1:创建三个单独的Intent
个对象,每个对象都有一个或多个对象,以区别于其他两个
步骤2:创建三个单独的PendingIntent
对象,这将要求您使用与System.currentTimeMillis()
不同的ID的解决方案(因为创建三个背靠背可能会导致相同的毫秒时间值)
步骤3:让每个动作都使用自己的三个PendingIntent
对象中的一个
步骤4:在onCreate()
和/或onNewIntent()
中,检查Intent
的其他内容并查看点击了哪三个操作,然后调用所需的方法