Pre JellyBean Androids中的NotificationCompat.Builder addAction?

时间:2013-12-17 19:32:31

标签: android notifications

我收到了一个addidional操作的通知,因此用户可以通过单击主要通知转到主活动,或者停止服务单击辅助(扩展)通知。这适用于后JellyBean Androids(4.1+)。如何在旧系统中实现类似的功能(API 11 +)?

       noti = new NotificationCompat.Builder(this)
                .setContentTitle("service")
                .setContentText("running")
                .setSmallIcon(R.drawable.ic_launcher)
                .setContentIntent(pendIntent)
                .setPriority(Notification.PRIORITY_HIGH)
                .addAction(R.drawable.ic_launcher, "Stop", pIntent)

                .build();

        startForeground(12345, noti); 

1 个答案:

答案 0 :(得分:3)

来自文档:

  

NotificationCompat对象的Builder类。允许更容易控制   在所有的旗帜上,以及帮助构建典型的   通知布局。

     

在不提供扩展通知的平台版本上,方法   依赖于扩展通知的效果无效。

     

例如,操作按钮不会出现在Android之前的平台上   4.1。操作按钮取决于扩展通知,这些通知仅在Android 4.1及更高版本中可用。

     

出于这个原因,你应该始终确保一个UI控件   您的应用中的“活动”中也会显示通知   用户单击通知时应始终启动该活动。   为此,请使用setContentIntent()方法。

addAction()

  

向此通知添加操作。操作通常显示为   系统作为与通知内容相邻的按钮。行动   按钮不会出现在Android 4.1之前的平台上。动作按钮   依赖于扩展通知,这些通知仅在Android中可用   4.1及以后。要确保操作按钮的功能始终可用,请首先在“活动”中实现该功能   当用户点击通知时开始(请参阅   setContentIntent()),然后通过实现增强通知   与addAction()具有相同的功能。

我找到了您可能觉得有用的this教程。