Android FusedLocationProviderClient有时不';不要返回位置

Android FusedLocationProviderClient有时不';不要返回位置,android,android-fusedlocation,fusedlocationproviderclient,Android,Android Fusedlocation,Fusedlocationproviderclient,我想在Android Studio中制作一个应用程序,返回用户的位置。这是我正在使用的代码: protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_location); FusedLocationProviderClient fusedLocationProviderClient = new

我想在Android Studio中制作一个应用程序,返回用户的位置。这是我正在使用的代码:

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_location);
FusedLocationProviderClient fusedLocationProviderClient = new FusedLocationProviderClient(LocationActivity.this);
fusedLocationProviderClient.getLastLocation().addOnSuccessListener(new OnSuccessListener<Location>() {
            @Override
            public void onSuccess(final Location location)
            {
                    if (location != null)
                    {
                        latitude= location.getLatitude();
                        longitude = location.getLongitude();
            latitudeStr=String.valueOf(latitude);
            longitudeStr=String.valueOf(longitude);
            Toast.makeText(LocationActivity.this,latitudeStr+" "+longitudeStr , Toast.LENGTH_LONG).show();  
        }
        else {
                        Toast.makeText(SearchActivity.this, "Your Location Could Not Be Found !!!", Toast.LENGTH_LONG).show();
                }
    }
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_位置);
FusedLocationProviderClient FusedLocationProviderClient=新的FusedLocationProviderClient(LocationActivity.this);
fusedLocationProviderClient.getLastLocation().addOnSuccessListener(新OnSuccessListener()){
@凌驾
成功时的公共无效(最终位置)
{
如果(位置!=null)
{
纬度=位置。getLatitude();
longitude=location.getLongitude();
latitudeStr=String.valueOf(纬度);
longitudeStr=String.valueOf(经度);
Toast.makeText(LocationActivity.this,latitudeStr+“”+longitudest,Toast.LENGTH_LONG).show();
}
否则{
Toast.makeText(SearchActivity.this,“找不到您的位置!!!”,Toast.LENGTH\u LONG.show();
}
}
}


现在,它有时会返回正确的位置,但有时会显示Toast消息“找不到您的位置!!!”我认为这意味着它无法获取位置。请告诉我应用程序始终返回用户位置的方式。

看这里,你只取最后一个,如果存在,你需要自我请求。你能告诉我自我请求是什么意思吗?看这里,你只取最后一个,如果存在你需要自我要求。你能告诉我自我要求是什么意思吗?