2013-07-16 2 views
4

Я разрабатываю приложение на основе местоположения, используя этот пример: http://www.androidhive.info/2012/07/android-gps-location-manager-tutorial/Android показать прогресс диалога во время ожидания для размещения

Но когда я включаю телефон, место не доступны прямо на данный момент. Поэтому я хочу показать диалог прогресса в ожидании местоположения. Хотите сделать это в фоновом режиме с помощью AsyncTask.

Можете ли вы дать какие-либо идеи, как и где это сделать?

ответ

3

Там нет необходимости AsyncTask потому Место службы уже запущена в другом процессе, просто реализовать LocationListener и зарегистрировать его на резюме метод, и в onCreateActivity проверить, если место является пустым, показать ProgressDialog, и в onLocationChanged() установить место и закройте ProgressDialog

2

Поместите ProgressDialog в onPreExecute, SAMPL е код ниже:

private ProgressDialog progressdialog; 

@Override 
protected void onPreExecute(){ 
    super.onPreExecute(); 
     progressdialog = new ProgressDialog(yourContext); 
     progressdialog.setMessage("Loading..."); 
     progressdialog.show();  
} 

@Override 
protected void onPostExecute(){ 
    super.onPostExecute(); 
     progressdialog.dismiss(); 
} 
+0

Где бы это? В моей MainActivity? Потому что я хочу показать это до тех пор, пока не получу свое местоположение! Когда я получу широту и долготу, я хочу отключить диалог – Karlis

1

Реализовать интерфейс locationListner и начать свой метод ожидания диалоговое переопределение изменения OnLocation и там просто отменить диалог, все самое лучшее.

общественный класс MainActivity расширяет активность реализует LocationListener {

ProgressDialog dialog; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    //-------------------- Start your GPS Reading ------------------ // 
    dialog = new ProgressDialog(this); 
    dialog.setMessage("Please wait!"); 
    dialog.show(); 

} 
@Override 
public void onLocationChanged(Location arg0) { 
    dialog.dismiss(); 
} 

@Override 
public void onProviderDisabled(String provider) { 
    // TODO Auto-generated method stub 

} 

@Override 
public void onProviderEnabled(String provider) { 
    // TODO Auto-generated method stub 

} 

@Override 
public void onStatusChanged(String provider, int status, Bundle extras) { 
    // TODO Auto-generated method stub 

} 
Смежные вопросы