2017-05-30 1189 views
-1

任何人都可以幫助我?我得到錯誤java.lang.IllegalArgumentException:invalid provider:null。如何解決它?如果我在Android版本4.4.4中運行,那很好,但是如果我在Android版本6.0.1中運行,它會強制關閉。錯誤java.lang.IllegalArgumentException:invalid provider:null

這是我的代碼:

// fungsi ngecek lokasi GPS device pengguna 
private void lokasi(){ 
    location = locationManager.getLastKnownLocation(provider); 
    if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != 
      PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, 
      Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) { 
     // TODO: Consider calling 
     // ActivityCompat#requestPermissions 
     // here to request the missing permissions, and then overriding 
     // public void onRequestPermissionsResult(int requestCode, String[] permissions, 
     //           int[] grantResults) 
     // to handle the case where the user grants the permission. See the documentation 
     // for ActivityCompat#requestPermissions for more details. 
     return; 
    } 

    // permintaan update lokasi device dalam waktu 10 detik 
    locationManager.requestLocationUpdates(provider, 10000, 1, this); 
    if(location!=null){ 
     onLocationChanged(location); 
     callListVolley(latitude, longitude); 
    }else{ 
     Toast.makeText(this, "Lokasi device pengguna tidak ditemukan.\nMohon hidupkan GPS.",Toast.LENGTH_LONG).show(); 
     swipe.setRefreshing(false); 
    } 
} 

我還添加了android.permission.ACCESS_COARSE_LOCATION和android.permission.ACCESS_FINE_LOCATION清單中

回答

0

我有一些問題。並且我像波紋管一樣解決它

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

    if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED 
      && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) { 
     // TODO: Consider calling 
     // ActivityCompat#requestPermissions 
     // here to request the missing permissions, and then overriding 
     // public void onRequestPermissionsResult(int requestCode, String[] permissions, 
     //           int[] grantResults) 
     // to handle the case where the user grants the permission. See the documentation 
     // for ActivityCompat#requestPermissions for more details. 
     return; 
    } 

    // your codes 
} 

用戶需要允許應用程序的位置權限從API級別23開始運行。