尽管我多次单击按钮,抬头通知仍显示一次。即使我杀死了该应用程序,然后再次单击同一按钮,也没有显示提示通知。(相反,它在状态栏中显示为图标。但是,不是提示提示)
除非我卸载整个应用程序并重新安装,否则它不起作用。
这是什么原因?以及如何确保每次单击按钮时它都显示通知?
MainActivity.java
package com.example.notificationtest3;
public class MainActivity extends AppCompatActivity implements View.OnClickListener{
private String CHANNEL_ID="channel_id_1";
private String textTitle="This is a title";
private String textContent="This is a content";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button=(Button)findViewById(R.id.button);
button.setOnClickListener(this);
}
@Override
public void onClick(View v){
switch(v.getId()){
case R.id.button:
if(Build.VERSION.SDK_INT>=26){
Toast.makeText(MainActivity.this, ">26",Toast.LENGTH_SHORT).show();
NotificationChannel channel = new NotificationChannel(CHANNEL_ID, "Channel name",
NotificationManager.IMPORTANCE_HIGH);
channel.setDescription("description");
NotificationManager notificationManager = getSystemService(NotificationManager.class);
notificationManager.createNotificationChannel(channel);
NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this, CHANNEL_ID)
.setSmallIcon(R.mipmap.ic_launcher)
.setContentTitle(textTitle)
.setContentText(textContent);
notificationManager.notify(1, mBuilder.build());
}else{
Toast.makeText(MainActivity.this, "<26",Toast.LENGTH_SHORT).show();
NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this, CHANNEL_ID)
.setSmallIcon(R.mipmap.ic_launcher)
.setContentTitle(textTitle)
.setContentText(textContent)
.setVibrate(new long[0])
.setPriority(NotificationCompat.PRIORITY_MAX);
NotificationManagerCompat notificationManager = NotificationManagerCompat.from(this);
notificationManager.notify(1, mBuilder.build());
}
break;
default:
break;
}
}
}