Поскольку вы описали свою фактическую проблему в комментариях, я отвечу на это здесь.
Вы не должны обновлять приложение каждые 5 секунд. Вы должны отреагировать на результат намерений.
Решение Нет 1 (ActivityForResult подход)
Это, как вы это делаете:
private static final int SELECT_PHOTO = 100;
Начало Intent
Intent photoPickerIntent = new Intent(Intent.ACTION_PICK);
photoPickerIntent.setType("image/*");
startActivityForResult(photoPickerIntent, SELECT_PHOTO);
Эта часть называется на результат. И вы должны обновить свою активность в этом методе.
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent imageReturnedIntent) {
super.onActivityResult(requestCode, resultCode, imageReturnedIntent);
switch(requestCode) {
case SELECT_PHOTO:
if(resultCode == RESULT_OK){
Uri selectedImage = imageReturnedIntent.getData();
InputStream imageStream = getContentResolver().openInputStream(selectedImage);
Bitmap yourSelectedImage = BitmapFactory.decodeStream(imageStream);
}
}
}
EDIT: Для того, чтобы понять: Что происходит, что вы создаете свою деятельность. Назовите свое намерение. Ваша активность приостанавливается onPause()
, а после выбора возобновляется onResume()
. Поэтому, если вы хотите обновить свою активность после ее приостановки. Вы пишете это поведение в методе onResume()
. Но все же, если вы начинаете Намерение для какого-то результата. Вы должны использовать вышеуказанный метод, чтобы добавить результат в свою деятельность.
Решение Нет 2 (общий подход)
@Override
protected void onResume() {
super.onResume();
//Refresh here
}
Я действительно не знаю, что вы имеете в виду обновления. Также я не знаю, хотите ли вы обновить 5 секунд. после создания или с вызовом create. – xeed
Я фотографирую из галереи, используя намерение, когда намерение finisg эта активность не обновляется и показывается только до тех пор, пока я не вернусь и не вернусь к этому действию –
Итак, ваша идея - действительно обновлять каждые пять секунд? Не только один раз? – xeed