2012-10-22 37 views
2

我需要一些帮助,因为我是Android新手。我似乎无法理解如何构建新的Notification.Builder实例。令人遗憾的是,我所遵循的教程使用了一个较老的构造函数,在仔细阅读了android参考文档之后清楚地说明了这一点。我创建了一个按钮,当你按下时只提供一个简单的通知。在查找其他示例后,所有代码似乎都可以正常工作,但在构建方法下,Eclipse中出现红线错误。任何帮助将非常感激:Android通知栏构建方法错误

Button b = (Button) findViewById(R.id.button1); 
b.setOnClickListener(new OnClickListener() { 

@Override 
public void onClick(View v) { 

    Context context = Main.this; 
    Intent intent = new Intent(context, Main.class); 
    PendingIntent pending = PendingIntent.getActivity(Main.this, 0, intent, 0); 

    Notification noti = new Notification.Builder(Main.this) 
    .setTicker("This is important!") 
     .setContentTitle("PLEASE READ!") 
     .setContentText("Important message from me!") 
     .setSmallIcon(android.R.drawable.stat_notify_more) 
     .setWhen(System.currentTimeMillis()) 
     .setContentIntent(pending) 
     .build(); 


    NotificationManager nm = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); 
    nm.notify(0, noti); 
    } 
}); 
+1

发现请告诉我是日食的错误消息给你? – dymmeh

回答

1

Notification.Builder.build()是API级别16.您可能还没有目标设定为V16和/或下载的V16 Android开发工具包,使Eclipse不知道这个方法,因此将其标记为无效。

看一看的文档Notification.Builder

+0

谢谢你的时间,这听起来正确,因为我在4.0.3工作,因为我的三星Galaxy不在4.1上。我看过Notification.Builder文档,但由于方法被“折旧”等原因,无法完成。那么在API 15上实现它的正确方法是什么?谢谢 – user1574598

+0

只是一个更新,我拿出build()方法并用折旧的.getNotification()方法取代它,它似乎可以在我的手机上工作,但我有一种感觉,它不完全正确。 – user1574598

+0

目前我认为它是正确的,因为它可以得到。仅仅因为一个方法被弃用并不意味着它是不正确的。这意味着你应该尽可能使用更好的东西。 –