костыль: Приложение построено через navigations components с сингл активити. Во фрагменте делается вызов нативного метода task.addOnFailureListener(this, new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
if (e instanceof ResolvableApiException) {
// Location settings are not satisfied, but this can be fixed
// by showing the user a dialog.
try {
// Show the dialog by calling startResolutionForResult(),
// and check the result in onActivityResult().
ResolvableApiException resolvable = (ResolvableApiException) e;
resolvable.startResolutionForResult(MainActivity.this,
REQUEST_CHECK_SETTINGS);
} catch (IntentSender.SendIntentException sendEx) {
// Ignore the error.
}
}
}
}); Проблема собственно в чем что колбек после вызова приходит в onActivityResult активности а не фрагмента и логика вся написана во фрагменте. Поставил костыль в активности val dashboardFragment =
supportFragmentManager.findFragmentById(R.id.nav_host_fragment)
?.childFragmentManager?.fragments!![0] as DashboardFragment dashboardFragment.performLocationUpdates()
сделайте поиск по id/тэгу фрагмент через supportFragmentManager, кастуйте в фрагмент и вызывайте нужный метод, это даже не похоже на костыль
Обсуждают сегодня