0

我在处理程序和 timertask 上遇到问题当我完成处理程序以检查连接并在两个单独的线程上更新 UI 时,它可以工作。但我想定期更新网络连接。也许每 5 秒执行一次。我使用 Timer.schedule 来执行此操作。但是申请失败了。我不知道计时器是否无法进入 UI 线程。

另外,我不知道是否有更好的方法来完成这样的多任务。我很想看看是否有另一种方法可以做到这一点,比如 AsyncTask、Looper。谢谢

公共类 ViewPostTest 扩展 Activity { private String connection_status = null;

public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    final TextView timer_view = (TextView) findViewById(R.id.result);
    final Runnable runnable = new Runnable(){

        public void run() {
            // TODO Auto-generated method stub
            ConnectivityManager manager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
            NetworkInfo networkinfo = manager.getActiveNetworkInfo();

            if(networkinfo.isConnected())
            {
                connection_status = "Connected";
            }
            else
            {
                connection_status = "Disconnected";
            }
            timer_view.post(new Runnable(){

                public void run() {
                    // TODO Auto-generated method stub
                    timer_view.setText(connection_status);
                }});

        }};
    TimerTask task1 = new TimerTask(){

        @Override
        public void run() {
            // TODO Auto-generated method stub
            Handler handler = new Handler();
            handler.post(runnable);
        }};
    Timer timer1 = new Timer();
    timer1.schedule(task1, 0,5000);


}

}
4

0 回答 0