Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 通知Android_Java_Android - Fatal编程技术网

Java 通知Android

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

嗯,我正在尝试使用通知,但这段代码不起作用。我已经在4.4和5.0上进行了测试。我不明白,怎么了

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