私のアプリケーションでは、ユーザーが自分のローカリゼーションを知ることができるようにしたいと考えています...しかし、GPS とネットワーク プロバイダーの両方を実装したいと考えています...GPS プロバイダーは常に利用できるとは限らないため...私はエミュレーターを使用し、私は私のコードが機能するかどうかわからない...
これは私のコードソースです: (事前に感謝)
locationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
LocationListener mlocListener = new MyLocationListener();
locationManager.requestLocationUpdates( LocationManager.GPS_PROVIDER, 0, 0, mlocListener);
locationManager.requestLocationUpdates( LocationManager.NETWORK_PROVIDER, 0, 0, mlocListener);
Criteria criteria = new Criteria();
provider = locationManager.getBestProvider(criteria, false);
location = locationManager.getLastKnownLocation(provider);
if(location!=null)
{
mylat=location.getLatitude();
mylong=location.getLongitude();
}
そして、これはクラス myLocationlistener です:
public class MyLocationListener implements LocationListener
{
@Override
public void onLocationChanged(Location loc)
{
Log.i("location", "lat :"+loc.getLatitude());
mylat=loc.getLatitude();
mylong=loc.getLongitude();
for(int i=0; i<results.size(); i++)
{
gare g=results.get(i);
}
list.invalidateViews();
}
@Override
public void onProviderDisabled(String provider)
{
AlertDialog alertDialog = new AlertDialog.Builder(liste_activity.this).create();
alertDialog.setTitle("Le GPS est désactivé");
alertDialog.setMessage(" activez le GPS");
alertDialog.setButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
} });
alertDialog.show();
}
@Override
public void onProviderEnabled(String provider)
{
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras)
{
}
}