如题,代码如下,想更新通知栏的信息,但是只是显示初始值,程序是可以走到 handler.post 的 run 方法里面的,并且 从打印的 log中可以看到数据是有变化的,数据是没有问题的,(初始值就是从某一个log中提取的,没有问题),问题是不它更新通知栏啊...
// 设置初始值
final String[] trafficInfoString ={"<b><font color=#00ff00><b>↑</b></b><b> 145 KB/s</b><b><font color=#CD0000><b>↓</b></b><b>50 KB/s</b>\n"};
Handler handler = new Handler();
Timer timer=new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
// 开启一个线程,实时获取流量统计
TrafficStatistics trafficStatistics = trafficManager.getUsageByUidFromSummaryTotal(context, current, current + 2000);
trafficInfoString[0] = String.format(trafficInfo[0], tTxBytes/1024, "KB", tRxBytes, "KB");
handler.post(new Runnable() {
@Override
public void run() {
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.N) {
Log.d(TAG, "run:SDK_INT > 24-" + trafficInfoString[0] );
builder.setContentText(Html.fromHtml(trafficInfoString[0], Html.FROM_HTML_MODE_LEGACY));
} else {
Log.d(TAG, "run: <24" + trafficInfoString[0]);
builder.setContentText(Html.fromHtml(trafficInfoString[0]));
}
}
});
}
},0,3000);
// 初始值
builder.setContentText(Html.fromHtml(trafficInfoString[0]));
}
您的每一个用心回答,都会让这个世界变得更美好一些!