Android, как я могу сделать службу спит в течение 20 секунд при получении данных из класса местоположения? - PullRequest
0 голосов
/ 07 января 2012

я должен получить свое местоположение внутри сервиса из другого класса по этому коду

      Mylocation mylol = new Mylocation();
    private void locationClick() {




         mylol.getLocation(this, locationResult);


                            mylol.cancelTimer();

         // runDialog(3);

    }

    public LocationResult locationResult = new LocationResult(){
    ;
        @Override
        public void gotLocation(final Location location){
            //Got the location!
            double MyFinalLat=location.getLatitude();
            double MyFinalLon=location.getLongitude();
            Myloc=MyFinalLat+","+MyFinalLon;
            Toast.makeText(getBaseContext(),"Your current location"+Myloc,
                    Toast.LENGTH_SHORT).show();
            };
        };

}

, но я должен заставить gpss не торопиться, чтобы найти расположение, как я могу сделать мой сервис слабым в течение 20 секунд для примера??

Ответы [ 2 ]

2 голосов
/ 07 января 2012
 Handler handler = new Handler(); 
   handler.postDelayed(new Runnable() { 
     public void run() { 
          my_button.setBackgroundResource(R.drawable.defaultcard); 
     } 
   }, 2000); 
0 голосов
/ 07 января 2012

код:

Thread.sleep(20000);

Заставит текущий поток спать в течение 20 секунд. В случае действия это, вероятно, приведет к закрытию силы, потому что это фактически заставит ваш процесс казаться заблокированным (я полагаю). В Сервисе, как вы описываете, вы можете быть в порядке, хотя.

Кстати, эти 20 секунд не невероятно точны, как отмечено в документации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...