如题,代码如下,想更新通知栏的信息,但是只是显示初始值,程序是可以走到 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]));
}
您的每一个用心回答,都会让这个世界变得更美好一些!