Как избежать проблемы состояния GPS -Временно недоступен в моем приложении для Android - PullRequest
0 голосов
/ 05 мая 2011

Я пишу приложение для Android, чтобы узнать местоположение моего устройства. Оно всегда показывает статус GPS как ВРЕМЕННО, НЕ ДОСТУПНО, его даже не вызывает метод Location Changed, несмотря на то, что я меняю местоположение моего мобильного телефона, не могли бы вы заглянуть в проблема с кодом ниже

    ls= (ArrayList<String>)lm.getProviders(false);

    Log.e(""," SIZE "+ls.size());
    sb=new StringBuilder();
    for(int i=0;i<ls.size();i++)
        {Log.e("","Data : "+ls.get(i));
        lp=lm.getProvider(ls.get(i));

        sb.append("\nProvider Name : "+lp.getName());
        sb.append("\nPower Requirement :"+lp.getPowerRequirement());
        sb.append("\nAccuracy : "+lp.getAccuracy()+"\n\n");

        lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 1, 1, this);

        Location location=lm.getLastKnownLocation(ls.get(i));           
        }

    strt.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            TextView tv=(TextView)findViewById(R.id.TextView01);
            tv.setText("StarteD :"+sb);

        }
    });

    stop.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            TextView tv=(TextView)findViewById(R.id.TextView01);
            tv.setText("STOPPED ys  :"+res);
            Location location=lm.getLastKnownLocation(ls.get(1));

            if(location==null)
                Log.e("","location object null");
            try{
            tv.append("\nLogitude: "+location.getLongitude());
            tv.append("\nLattitude: "+location.getLatitude());
            tv.append("\nTime:"+location.getTime());
            tv.append("\nSpeed: "+location.getSpeed());
            tv.append("\n Provider:"+location.getProvider());

            }catch(Exception e){}
        }
    });


}
@Override
public void onLocationChanged(Location location) {
    Log.e("","LocationChandgeD... ");
}
@Override
public void onProviderDisabled(String provider) {
    Log.e("",provider+" DIsabled... ");
}
@Override
public void onProviderEnabled(String provider) {
    Log.e("",provider+" Enabled... ");
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
    switch (status) {
    case LocationProvider.OUT_OF_SERVICE:
        Toast.makeText(this, "Status Changed: Out of Service",
                Toast.LENGTH_SHORT).show();
        break;
    case LocationProvider.TEMPORARILY_UNAVAILABLE:
        Toast.makeText(this, "Status Changed: Temporarily Unavailable",
                Toast.LENGTH_SHORT).show();
        break;
    case LocationProvider.AVAILABLE:
        Log.e("", "Status Changed: Available");         
        Toast.makeText(this, "Status Changed: Available",
                Toast.LENGTH_SHORT).show();
        break;
    }

}

1 Ответ

0 голосов
/ 06 мая 2011

К сожалению, GPS не работает без четкого обзора неба (в помещении или вокруг густого хвойного дерева). Возможно, вам следует попробовать выйти на улицу, чтобы проверить свою программу.

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