嘗試如下面的代碼這樣簡單的事情,似乎不工作:獲取用戶位置的緯度經度與API 22
我總是在日誌中獲取的「無位置:(」
我失去的東西?
public class MainActivity extends AppCompatActivity implements LocationListener {
LocationManager locationManager;
String provider;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
provider = locationManager.getBestProvider(new Criteria(), false);
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
return;
}
Location location = locationManager.getLastKnownLocation(provider);
if(location != null){
Log.i("Location","Location achieved");
}else{
Log.i("Location","No location :(");
}
}
如果沒有最後已知位置? –
你想要完整的代碼嗎? –
'getLastKnownLocation()'如果沒有緩存的位置,將返回'null'。因此,你的行爲是完全正常的。 https://developer.android.com/guide/topics/location/strategies.html – CommonsWare