如题,代码如下,想更新通知栏的信息,但是只是显示初始值,程序是可以走到 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);plaintext复制代码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]));}