OnAtivityresult in fragment not working for me when i enable



我启用了定位,但当我单击"确定并取消"按钮时,onActivitySult没有调用任何指导

这是我的代码该功能启用定位,当我单击"确定"按钮时,它工作正常,但我需要"确定",我转到另一个片段,当我点击"取消"时,它仍然在活动中工作,但不在片段中

public void  locationsettings()
{
LocationRequest request=new LocationRequest().setFastestInterval(1500).setInterval(3000).setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
locationSettingsRequest=new LocationSettingsRequest.Builder().addLocationRequest(request);
Task<LocationSettingsResponse>responseTask= LocationServices.getSettingsClient(getContext()).checkLocationSettings(locationSettingsRequest.build());
responseTask.addOnCompleteListener(new OnCompleteListener<LocationSettingsResponse>() {
@Override
public void onComplete(@NonNull Task<LocationSettingsResponse> task) {
try {
LocationSettingsResponse response= task.getResult(ApiException.class);
}catch (ApiException e)
{
switch(e.getStatusCode())
{
case LocationSettingsStatusCodes
.RESOLUTION_REQUIRED:
try {
ResolvableApiException resolvableApiException=(ResolvableApiException)e;
resolvableApiException.startResolutionForResult(getActivity(),REQUEST_LOCATION);
Toast.makeText(getContext(),"resolution",Toast.LENGTH_SHORT).show();

}catch (IntentSender.SendIntentException ex)
{
ex.printStackTrace();
}
catch (ClassCastException e1)
{
}
break;
case LocationSettingsStatusCodes.SETTINGS_CHANGE_UNAVAILABLE:
{
Toast.makeText(getContext(),"okk",Toast.LENGTH_SHORT).show();
break;
}

}
}
}
});
}

@Override
public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode,resultCode,data);

if(requestCode==REQUEST_LOCATION&&requestCode==RESULT_OK)
{
switch (resultCode) {
case RESULT_OK:
// All required changes were successfully made
Toast.makeText(getContext(), "Ok_PRESSED", Toast.LENGTH_SHORT).show();
break;
case RESULT_CANCELED:
// The user was asked to change settings, but chose not to
Toast.makeText(getContext(), "Cancel_PRESS", Toast.LENGTH_SHORT).show();
break;
default:
break;
}
}


}

这是我的工作,我用过这个startIntentSenderForResult(resolvableApiException.getResolution((.getIntentSender((,REQUEST_LOCATION,null,0,0,null(;

而不是

resolvableApiException.startResolutionForResult(getActivity((,REQUEST_LOCATION(;

最新更新