私のアプリでは、ネットワークプロバイダーを使用して現在の場所を取得しています。この点で、私はいくつかのコードを開発しました。以下で見ることができます。
public class MyGPS extends Service implements LocationListener
{
protected LocationManager locationManager;
private final Context mContext;
public MyGPS (Context context) {
this.mContext = context;
getLocation();
}
public Location getLocation() {
try {
locationManager = (LocationManager) mContext.getSystemService(LOCATION_SERVICE);
// Check network status
if(locationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER)) {
Log.e("Location ", "Network enabled");
locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER,1000,1, this);
if (locationManager != null)
{
Log.e("Location ", "Location manager is not null");
Location networkLocation= locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
if (networkLocation != null) {
return networkLocation;
}
else
{
Log.e("Location ", "networkLocation object is null");
}
}
}
}
catch(Exception e) {
Log.e("Location ", "Problum in getLocation()");
}
return null;
}
@Override
public void onLocationChanged(Location arg0) {
// TODO Auto-generated method stub
}
@Override
public void onProviderDisabled(String arg0) {
// TODO Auto-generated method stub
}
@Override
public void onProviderEnabled(String arg0) {
// TODO Auto-generated method stub
}
@Override
public void onStatusChanged(String arg0, int arg1, Bundle arg2) {
// TODO Auto-generated method stub
}
@Override
public IBinder onBind(Intent arg0) {
// TODO Auto-generated method stub
return null;
}
}
上記のコードを実行すると、デバッグ メッセージが表示されます Log.e("Location ", "networkLocation object is null");
私の質問は、networkLocation
オブジェクトが null である理由です。この点で私を助けてください。前もって感謝します。