我正在构建一个简单的应用程序,其目的是在应用程序启动后立即显示通知。
按照Android的文档描述的步骤,我编写了一个名为createNotification
的方法,用于设置通知,并将对该方法的调用插入onCreate
方法,即我想,在推出应用程序后不久就打了个电话。
尽管如此,启动应用程序时不会显示任何通知。我想知道代码有什么问题。
public class MainActivity extends ActionBarActivity {
// ...
protected void onCreate(Bundle savedInstanceState) {
// ...
createNotification();
}
private void createNotification() {
NotificationCompat.Builder builder =
new NotificationCompat.Builder(this)
.setContentTitle("My notification")
.setContentText("Hello World!")
.setAutoCancel(true)
.setWhen(System.currentTimeMillis())
.setVisibility(Notification.VISIBILITY_PUBLIC);
Intent resultIntent = new Intent(this, MainActivity.class);
PendingIntent resultPendingIntent =
PendingIntent.getActivity(this, 0, resultIntent, PendingIntent.FLAG_UPDATE_CURRENT);
builder.setContentIntent(resultPendingIntent);
((NotificationManager) getSystemService(NOTIFICATION_SERVICE)).notify(1, builder.build());
}
}
答案 0 :(得分:3)
请参阅the docs
必填通知内容
通知对象必须包含以下内容:
- 由setSmallIcon()
设置的小图标- 标题,由setContentTitle()
设置- 详细文本,由setContentText()
设置
如果添加一个smallIcon,例如android.R.drawable.ic_dialog_alert
,它将起作用(我刚刚测试过)。你当然也可以添加一个你自己的图标,但我使用它是因为它是一个内置的例子很容易。
所以喜欢这个
NotificationCompat.Builder builder =
new NotificationCompat.Builder(this)
.setContentTitle("My notification")
.setContentText("Hello World!")
.setAutoCancel(true)
.setSmallIcon(android.R.drawable.ic_dialog_alert) // Add this line
.setWhen(System.currentTimeMillis())
.setVisibility(Notification.VISIBILITY_PUBLIC);
我必须说,当你不添加一个smallIcon时,我发现它没有显示任何错误或任何错误。