Android studio 安卓Don';在位置变量存在之前,不要执行任何操作

Android studio 安卓Don';在位置变量存在之前,不要执行任何操作,android-studio,location,sharedpreferences,fusedlocationproviderclient,Android Studio,Location,Sharedpreferences,Fusedlocationproviderclient,早上好, 我试着实现一个方法,先请求权限,然后执行一些东西,但没有成功 这是我的主要活动代码: public类MainActivity扩展了AppCompatActivity{ 公共静态字符串latitudineCorrente=“;//当前纬度 公共静态字符串longitudineCorrente=“;//当前经度 私有SharedReferences SharedReferences;//共享首选项 私有SharedPreferences.Editor mEditor;//共享首选项编辑器

早上好, 我试着实现一个方法,先请求权限,然后执行一些东西,但没有成功

这是我的主要活动代码:

public类MainActivity扩展了AppCompatActivity{
公共静态字符串latitudineCorrente=“;//当前纬度
公共静态字符串longitudineCorrente=“;//当前经度
私有SharedReferences SharedReferences;//共享首选项
私有SharedPreferences.Editor mEditor;//共享首选项编辑器
/*获取位置的变量*/
私有FusedLocationProviderClient FusedLocationProviderClient;
私人位置请求位置请求;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
字符串appllanguage=“ita”;
LanguageUtil.setApplLanguage(getApplicationContext(),applLanguage);
/*……其他代码*/
SharedReferences=this.getSharedReferences(“appname”,MODE\u PRIVATE);
mEditor=SharedReferences.edit();//设置编辑SharedReferences
richiamapermesi();//权限请求
requestLocationUpdates();//函数requestLocationUpdates();
CaricamentoInizialeApplicazione();//用于预设配置的函数
}
私有无效加共体应用程序(){
boolean configinaziale=sharedPreferences.getBoolean(“configurazionizialeok”,false);
如果(!configinalizale)
{
/*无法执行此操作,因为Double.parseDouble(this.latitudineCorrente)、Double.parseDouble(this.longitudineCorrente)*/
获取标记(MainActivity.this,0400,
Double.parseDouble(this.latitudineCorrente)、Double.parseDouble(this.longitudineccorrente),
0, 0,0,1, 0,0,
新的Response.Listener(){
@凌驾
公共void onResponse(字符串响应){
/*答复详述*/
}
},new Response.ErrorListener(){
@凌驾
公共无效onErrorResponse(截击错误){
dialog.dismise();
Toast.makeText(MainActivity.this,“+error.getMessage(),Toast.LENGTH_LONG.show();
错误。printStackTrace();
}
});
mEditor.putBoolean(“配置”为真);
mEditor.commit();
}
}
/*用于请求位置更新的函数*/
public void requestLocationUpdates(){
if(ContextCompat.checkSelfPermission(这个,Manifest.permission.ACCESS\u位置)==
PermissionChecker.PERMISSION\u已授予和&ContextCompat.checkSelfPermission(这是Manifest.PERMISSION.ACCESS\u FINE\u位置)==
权限检查器。权限(已授予){
fusedLocationProviderClient=新的fusedLocationProviderClient(此);
locationRequest=新的locationRequest();
locationRequest.setPriority(locationRequest.PRIORITY\u高精度);
locationRequest.SetFastTestInterval(1500);
位置请求设置间隔(3000);
fusedLocationProviderClient.RequestLocationUpdate(locationRequest,new LocationCallback()){
@凌驾
public void onLocationResult(LocationResult LocationResult){
super.onLocationResult(定位结果);
mEditor=SharedReferences.edit();
mEditor.putString(“latitudine”,String.valueOf(locationResult.getLastLocation().getLatitude());
mEditor.putString(“longitudine”,String.valueOf(locationResult.getLastLocation().getLongitude());
MainActivity.latitudineCorrente=String.valueOf(locationResult.getLastLocation().getLatitude());
MainActivity.longitudineCorrente=String.valueOf(locationResult.getLastLocation().getLongitude());
Log.d(“坐标”,“主要活动:纬度:”+MainActivity.latitudineCorrente+”/“
+“Longitudine:+main activity.longitudineCorrente);
}
},getMainLooper());
}else Richiamapermesi();
}
/*用于请求访问的函数*/
公共空间Richiamapermesi()
{
检查(此,新字符串[]{Manifest.permission.ACCESS\u\u位置,
Manifest.permission.ACCESS\u FINE\u LOCATION},
“在确定是否属于本病的情况下,是否存在局部感染!”,
新权限.Options().SetSetSettingsDialogTitle(“Avviso”).setRationaleDialogTitle(“Permessi locazione”),
新PermissionHandler(){
@凌驾
公开声明{
requestLocationUpdates();
}
@凌驾
public void onDenied(上下文上下文、ArrayList deniedPermissions){
super.onDenied(上下文,deniedPermissions);
Richiamapermesi();
}
});
}
}
问题是正在执行函数ApiMarkers.getMarkers(..,已填充纬度和经度…),但无法执行,因为未加载纬度和经度。。。我花了两个晚上没有解决:( 谢谢你的帮助!
克里斯蒂安

有什么吗?有没有创建服务位置的例子?谢谢我试着在youtube上关注这段视频,但无论如何,我都不明白我在哪里或什么时候可以调用这个方法“CaricamentoInizialeApplicazione()”为了调用一个使用位置坐标的方法!我要做的是确保我没有调用已经说过的方法