Java 通知Android
嗯,我正在尝试使用通知,但这段代码不起作用。我已经在4.4和5.0上进行了测试。我不明白,怎么了Java 通知Android,java,android,Java,Android,嗯,我正在尝试使用通知,但这段代码不起作用。我已经在4.4和5.0上进行了测试。我不明白,怎么了 public void onClick(View view) { Context context = getApplicationContext(); Intent notificationIntent = new Intent(context, MainActivity.class); PendingIntent contentIntent = PendingIntent
public void onClick(View view) {
Context context = getApplicationContext();
Intent notificationIntent = new Intent(context, MainActivity.class);
PendingIntent contentIntent = PendingIntent.getActivity(context, 0,notificationIntent, PendingIntent.FLAG_CANCEL_CURRENT);
Resources res = context.getResources();
Notification.Builder builder = new Notification.Builder(context);
builder.setContentIntent(contentIntent)
.setWhen(System.currentTimeMillis())
.setAutoCancel(true)
.setContentTitle("Title")
.setContentText("Text");
Notification notification = builder.build();
NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.notify(NOTIFY_ID, notification);
}
我将非常感谢您的回答。这可能是因为谷歌在每个Android版本中都对其通知API进行了大量更改。因此,您使用的API与多Android版本不兼容。但是谷歌发布了appcompat-v7\appcompat-v4来解决这个问题 请尝试以下代码:
public void send(View v) {
NotificationManager manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
Context context = getApplicationContext();
Intent notificationIntent = new Intent(context, TestNotificationActivity.class);
PendingIntent contentIntent = PendingIntent.getActivity(context, 0, notificationIntent, PendingIntent.FLAG_CANCEL_CURRENT);
NotificationCompat.Builder builder = new NotificationCompat.Builder(this);
Notification notification = builder
.setContentIntent(contentIntent)
.setContentTitle("this is title")
.setContentText("this is content")
.setWhen(System.currentTimeMillis())
.setSmallIcon(R.mipmap.ic_launcher)
.setLargeIcon(BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher))
.build();
manager.notify(NOTIFY_ID, notification);
}
记住导入android.support.v7.app.NotificationCompat