<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<Button
android:id="@+id/bt"
android:text="发送信息"
android:layout_width="wrap_content"
android:layout_height="wrap_content"></Button>
<Button
android:id="@+id/bt2"
android:text="分组"
android:layout_width="wrap_content"
android:layout_height="wrap_content"></Button>
<Button
android:id="@+id/bt3"
android:text="很多"
android:layout_width="wrap_content"
android:layout_height="wrap_content"></Button>
<Button
android:id="@+id/bt4"
android:text="交互信息"
android:layout_width="wrap_content"
android:layout_height="wrap_content"></Button>
<Button
android:id="@+id/bt5"
android:text="更新信息"
android:layout_width="wrap_content"
android:layout_height="wrap_content"></Button>
</LinearLayout>
package com.example.day3;
import androidx.appcompat.app.AppCompatActivity;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Intent;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.View;
import android.widget.Button;
import android.widget.PopupWindow;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
private Button bt1,bt2,bt3,bt4,bt5;
private long time=0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
bt1=findViewById(R.id.bt);
bt2=findViewById(R.id.bt2);
bt3=findViewById(R.id.bt3);
bt4=findViewById(R.id.bt4);
bt5=findViewById(R.id.bt5);
bt1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
textbr();
}
});
bt2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
textbr2();
}
});
bt3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
textbr3();
}
});
bt4.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
textbr4();
}
});
bt5.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
textbr5();
}
});
}
private void textbr5() {
NotificationManager manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
manager.cancel(1);
}
private void textbr4() {
Notification.Builder builder=new Notification.Builder(this);
builder.setSmallIcon(R.mipmap.ic_launcher);
builder.setContentTitle("标题");
builder.setContentText("内容");
builder.setWhen(System.currentTimeMillis());
builder.setAutoCancel(true);
Intent intent1=new Intent(MainActivity.this,Main2Activity.class);
PendingIntent act= PendingIntent.getActivity(this,0,intent1,0);
builder.setContentIntent(act);
builder.setDefaults(Notification.DEFAULT_ALL);
builder.setPriority(Notification.PRIORITY_MAX);
Notification b=builder.build();
NotificationManager manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
manager.notify(1,b);
}
private void textbr3() {
Notification.Builder builder=new Notification.Builder(this);
Notification.BigPictureStyle bigPictureStyle=new Notification.BigPictureStyle();
bigPictureStyle.bigPicture(BitmapFactory.decodeResource(getResources(),R.mipmap.ic_launcher));
builder.setStyle(bigPictureStyle);
builder.setSmallIcon(R.mipmap.ic_launcher);
builder.setContentTitle("标题");
Notification.InboxStyle inboxStyle=new Notification.InboxStyle();
inboxStyle.addLine("adas");
inboxStyle.addLine("adas");
inboxStyle.addLine("adas");
builder.setStyle(inboxStyle);
Notification b=builder.build();
NotificationManager manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
manager.notify(1,b);
}
private void textbr2() {
Notification.Builder builder1=new Notification.Builder(this);
Notification.Builder builder2=new Notification.Builder(this);
Notification.Builder builder3=new Notification.Builder(this);
builder1.setSmallIcon(R.mipmap.ic_launcher);
builder1.setContentTitle("标题1");
builder1.setContentText("内容1");
builder2.setSmallIcon(R.mipmap.ic_launcher);
builder2.setContentTitle("标题2");
builder2.setContentText("内容2");
builder3.setSmallIcon(R.mipmap.ic_launcher);
builder3.setContentTitle("标题3");
builder3.setContentText("内容3");
builder1.setGroup("1");
builder1.setGroupSummary(true);
builder2.setGroup("1");
builder2.setGroupSummary(true);
builder3.setGroup("1");
Notification b1=builder1.build();
Notification b2=builder2.build();
Notification b3=builder3.build();
NotificationManager manager1 = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
NotificationManager manager2 = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
NotificationManager manager3 = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
manager1.notify(1,b1);
manager2.notify(2,b2);
manager3.notify(3,b3);
}
private void textbr() {
Notification.Builder builder=new Notification.Builder(this);
builder.setSmallIcon(R.mipmap.ic_launcher);
builder.setContentTitle("标题");
builder.setContentText("内容");
builder.setWhen(System.currentTimeMillis());
builder.setAutoCancel(true);
builder.setVisibility(Notification.VISIBILITY_PUBLIC);
builder.setDefaults(Notification.DEFAULT_ALL);
builder.setPriority(Notification.PRIORITY_MAX);
Notification b=builder.build();
NotificationManager manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
manager.notify(1,b);
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode==event.KEYCODE_BACK){
if(System.currentTimeMillis()-time>2000){
Toast.makeText(this, "在按一下提出", Toast.LENGTH_SHORT).show();
time=System.currentTimeMillis();
return true;
}else {
finish();
}
}
return super.onKeyDown(keyCode, event);
}
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".Main2Activity">
<Button
android:id="@+id/btt"
android:text="进度条"
android:onClick="onbt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"></Button>
</LinearLayout>
```package com.example.day3;
import androidx.appcompat.app.AppCompatActivity;
import android.app.Notification;
import android.app.NotificationManager;
import android.os.Bundle;
import android.view.View;
import java.util.Timer;
import java.util.TimerTask;
public class Main2Activity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
}
public void onbt(View view) {
final NotificationManager manager= (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
final Notification.Builder builder=new Notification.Builder(this);
builder.setSmallIcon(R.mipmap.ic_launcher);
builder.setContentTitle("下载中....");
final Timer timer=new Timer();
timer.schedule(new TimerTask(){
int pro=0;
@Override
public void run() {
builder.setContentTitle("下载中...."+pro);
builder.setProgress(100,pro,false);
pro+=10;
manager.notify(1,builder.build());
if(pro>=100){
builder.setProgress(0,0,true);
builder.setContentTitle("安装中....");
manager.notify(1,builder.build());
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
}
manager.cancel(1);
timer.cancel();
}
}
},0,1000);
Notification build = builder.build();
manager.notify(1, build);
}
}
动画
在res 文件在创造anim 在在anim中创造两个.xml