2016-05-26 16 views
0

2週間前に正常に動作していたアプリがあります。今日私はコードを実行し、いくつかの問題にぶつかりました。私のgps(場所オプション)が起動時に検出されているとは思われません。場所がオフのときは、起動時にメッセージが表示され、場所オプションをオンにするように求められます。オンにすると、現在の場所が表示されます。ただし、アプリケーションを終了してもう一度開くと、ロケーションオプションがオンの場合でも現在のロケーションは表示されません。Android GPSが私の場所を取得できません

私はいつも私の現在の場所を起動時に取得することができましたが、何も変更しなかったので、なぜそれがもう動作しないのかわかりません。

Location location = locationManager.getLastKnownLocation(provider)は常にnullを返します。

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
setContentView(R.layout.activity_main); 


    // Getting GoogleMap object from the fragment 
    googleMap = fm.getMap(); 

    // Enabling MyLocation Layer of Google Map 
    googleMap.setMyLocationEnabled(true); 

    googleMap.setPadding(0, 0, 0, 90); 
    //loadSettings(); 
    // Getting LocationManager object from System Service LOCATION_SERVICE 
    locationManager = (LocationManager) getSystemService(LOCATION_SERVICE); 

    if (locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)){ 
     //Toast.makeText(this, "GPS is Enabled in your devide", Toast.LENGTH_SHORT).show(); 
    }else{ 
     showGPSDisabledAlertToUser(); 
    } 

    googleMap.setOnMapClickListener(new GoogleMap.OnMapClickListener() { 
     @Override 
     public void onMapClick(LatLng point) { 
      changeLocation(point); 
     } 
    }); 
    // Creating a criteria object to retrieve provider 
    Criteria criteria = new Criteria(); 

    // Getting the name of the best provider 
    provider = locationManager.getBestProvider(criteria, true); 

    // Getting Current Location 
    Location location = locationManager.getLastKnownLocation(provider); 

    if(location!=null){ 
      onLocationChanged(location); 
    } 

    locationManager.requestLocationUpdates(provider, 20000, 0, this); 



private void showGPSDisabledAlertToUser(){ 
    AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this); 
    alertDialogBuilder.setMessage("GPS is disabled in your device. Would you like to enable it?") 
      .setCancelable(false) 
      .setPositiveButton("Goto Settings Page To Enable GPS", 
        new DialogInterface.OnClickListener(){ 
         public void onClick(DialogInterface dialog, int id){ 
          Intent callGPSSettingIntent = new Intent(
            android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS); 
          startActivity(callGPSSettingIntent); 
         } 
        }); 
    alertDialogBuilder.setNegativeButton("Cancel", 
      new DialogInterface.OnClickListener(){ 
       public void onClick(DialogInterface dialog, int id){ 
        dialog.cancel(); 
       } 
      }); 
    AlertDialog alert = alertDialogBuilder.create(); 
    alert.show(); 
} 

答えて

0

グーグル・サービス・リポジトリの更新は多分あなたがいることを確認することができなかった

関連する問題