Android-Notification不会出现

这是用于通过单击按钮然后转到另一个类来创建通知的代码。 第二类完全是空的。 我不知道为什么它不会出现,即使它不能转向另一个类。

我已经检查了这个文件的“坐位”,“通知”是“打开”。 谁能帮我检查一下?

MainActivity.class

package com.example.ww.lab; import android.app.Notification; import android.app.PendingIntent; import android.content.Intent; import android.support.v4.app.NotificationManagerCompat; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.app.NotificationManager; import android.support.v4.app.NotificationCompat; import android.util.Log; import android.view.View; import android.widget.Button; public class MainActivity extends AppCompatActivity { private int id = 1; private NotificationCompat.Builder notification_builder; private NotificationManagerCompat notification_manager; Button button; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); button = (Button) findViewById(R.id.button); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { notification_manager.notify(id, notification_builder.build()); } }); Intent open_activity_intent = new Intent(this, NotificationActivity.class); PendingIntent pending_intent = PendingIntent .getActivity(this, 0, open_activity_intent, PendingIntent.FLAG_CANCEL_CURRENT); notification_builder = new NotificationCompat.Builder(this) .setSmallIcon(R.drawable.ic_launcher) .setContentTitle("Notification Title") .setContentText("Notification Body") .setAutoCancel(true) .setContentIntent(pending_intent); notification_manager = NotificationManagerCompat.from(this); } } 

activity_main.xml中

    

正如您所说,您编译的sdk版本是26 。 您需要在发布通知之前设置通道 。 所以它会是这样的

 NotificationManager notification_manager = (NotificationManager) this .getSystemService(Context.NOTIFICATION_SERVICE); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { String chanel_id = "3000"; CharSequence name = "Channel Name"; String description = "Chanel Description"; int importance = NotificationManager.IMPORTANCE_LOW; NotificationChannel mChannel = new NotificationChannel(chanel_id, name, importance); mChannel.setDescription(description); mChannel.enableLights(true); mChannel.setLightColor(Color.BLUE); notification_manager.createNotificationChannel(mChannel); notification_builder = new NotificationCompat.Builder(this, chanel_id) } else { notification_builder = new NotificationCompat.Builder(this); } notification_builder.setSmallIcon(R.drawable.ic_launcher) .setContentTitle("Notification Title") .setContentText("Notification Body") .setAutoCancel(true) .setContentIntent(pending_intent); 

有关更多信息,请访问Developer Site