1

現在、ロケーションベースのアプリを使用していますが、実際のデバイスでロケーションが更新されないという問題があります。それは、onLocationChanged実際のデバイスでは機能していません。しかし、エミュレータでは問題ありません。

    locmngr=(LocationManager)getSystemService(Context.LOCATION_SERVICE);
            loclis =new MyLocationListner();
            our_location=locmngr.getLastKnownLocation(LocationManager.GPS_PROVIDER);
            locmngr.requestLocationUpdates( LocationManager.GPS_PROVIDER, 0, 0,loclis);
public class MyLocationListner implements LocationListener{

        @Override
        public void onLocationChanged(Location location)
        {
            // TODO Auto-generated method stub
            L1=location.getLatitude();
            L2=location.getLongitude();
            String currentDateTimeString = DateFormat.getDateTimeInstance().format(new Date());
            //          Toast.makeText(getApplicationContext(), currentDateTimeString, Toast.LENGTH_SHORT).show();
            DatabaseHandlerActivity db = new DatabaseHandlerActivity(getApplicationContext());
            db.addLocation(new Locations_viewer(L1.toString(), L2.toString(), currentDateTimeString));

                        Toast.makeText(getApplicationContext(), "New Location   "+"Latitude ="+L1+
                                "   Longitude ="+L2, Toast.LENGTH_LONG).show();


            Calendar c = Calendar.getInstance();
            SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            String formattedDate = df.format(c.getTime());


            ParseUser.getCurrentUser().put("Latitude", L1.toString());
            ParseUser.getCurrentUser().put("Longitude", L2.toString());

            ParseUser.getCurrentUser().put("Time", formattedDate);


            ParseUser.getCurrentUser().saveInBackground();

            //          Toast.makeText(getApplicationContext(), "Latitude ="+L1, Toast.LENGTH_LONG).show();
            //          Toast.makeText(getApplicationContext(), "Longitude ="+L2, Toast.LENGTH_LONG).show();



        }

        @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

        }
    }

私を助けてください。

4

1 に答える 1

1

NETWORK_PROVIDERの代わりに使用しましたGPS_PROVIDER。GPS はすべての場所で利用できるわけではないためです。私の場合、それは私の問題を完全に解決しました。モバイルでアクティブなインターネット接続が必要なだけです。

于 2013-08-03T14:51:06.787 に答える