У меня есть класс, который создаёт Activity в некоторых ситуациях, но он не наследуется от Activity. Как мне сделать так, что бы при закрытии Activity в классе который запустил активность исполнился некоторый участок кода.
P.S. Нужно что то на подобие: слушателя на закрытие Activity.
UPD:Запуск активности
public class DownloadAndUpdateCategories {
private List<Category> mCategoryList = new ArrayList<>();
private RealmConfiguration mConfig = Realm.getDefaultConfiguration();
private Realm mRealm = Realm.getInstance(mConfig);
public DownloadAndUpdateCategories() {
downloadAndUpdateCategories();
}
private void downloadAndUpdateCategories() {
ServerAPI service = RetrofitDto.getRetrofitDto().create(ServerAPI.class);
Call<List<Category>> call = service.getCategories("user");
call.enqueue(new Callback<List<Category>>() {
@Override
public void onResponse(@Nonnull Call<List<Category>> call,@Nonnull Response<List<Category>> response) {
mCategoryList = response.body();
updateCategories();
}
@Override
public void onFailure(@Nonnull Call<List<Category>> call, @Nonnull Throwable t) {
Log.e(getClass().getName(), "No data was received from the server. Throwable = " + t);
RealmResults<Category> categories = mRealm.where(Category.class).findAll();
if(categories.size() == 0){
Intent intent = new Intent(BaseApplication.context, ErrorConnectionActivity.class);
((Activity) BaseApplication.context).startActivityForResult(intent, 1);
}
}
});
}
private boolean updateCategories() {
RealmAsyncTask task = Realm.getInstanceAsync(mConfig, new Realm.Callback() {
@Override
public void onSuccess(@Nonnull Realm realm) {
realm.beginTransaction();
try {
realm.insertOrUpdate(mCategoryList);
Log.e(getClass().getName(), "Data successfully updated");
} catch (RealmException e) {
Log.e(getClass().getName(), "Data not updated. Error = " + e);
}
realm.commitTransaction();
}
});
return false;
}
}
По сути сама активность:
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_no_connection);
setTitle("Нет подключения к интернету");
btRepeat = findViewById(R.id.btRepeat);
btRepeat.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
}
startActivityForResult() подойдет?
https://developer.android.com/training/basics/intents/result?hl=ru
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?
Как реализовать запись объектного Array List в файл: txt или xmlПожалуйста, разъясните это на конкретных примерах
Есть метод writeToFile, который записывает нужные данные в файлtxt, проблема в том что текст каждый раз перезаписывается, а мне нужно чтобы добавлялся
Изучаю SpringПытаюсь создать форму регистрации
Столкнулся с такой проблемойВ БД записал объект класса Cookie вот таким вот образом :