如何在android的通知栏里显示进度信息?只要一个工具类就可以了。先看效果图:
代码:
工具类NotificationTool
package com.mygame.myapplication;
import android.app.Notification;
import android.app.NotificationChannel;
import android.app.NotificationManager;
import android.content.Context;
import android.widget.RemoteViews;
import androidx.core.app.NotificationCompat;
import static android.content.Context.NOTIFICATION_SERVICE;
class NotificationTool {
NotificationManager mNotificationManager;
Notification notification;
int notifyId = 30001; //自己设置就好
String channelId = "anything";
Context mContext;
public NotificationTool(Context context) {
this.mContext=context;
mNotificationManager = (NotificationManager) context.getSystemService(NOTIFICATION_SERVICE);
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O) {
/*android8.0 增加了渠道,如果不设置,在8.0下是无法显示通知的
*channelId自己定义就好,渠道名会显示在系统设置-app的通知管理下
*/
NotificationChannel channel = new NotificationChannel(channelId,
"下载进度", NotificationManager.IMPORTANCE_HIGH);
mNotificationManager.createNotificationChannel(channel);
}
initNotification();//构建Notification
}
private void initNotification(){
//写一个带ProgressBar和TextView的layout
//创建 RemoteViews下面用来更新进度
RemoteViews view = new RemoteViews(mContext.getPackageName(