Как очистить данные о намерениях в действии после открытия по URL? ⇐ Android

Форум для тех, кто программирует под Android
Anonymous
Как очистить данные о намерениях в действии после открытия по URL?

Сообщение Anonymous »

У меня есть активность, которую можно запустить прямо из браузера, вызвав URL-адрес.

Код активности:

Код: Выделить всё

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

Uri data = getIntent().getData();
Log.d(getClass().getName(), "onCreate data=" + data);

getIntent().replaceExtras(new Bundle());
getIntent().setAction("");
getIntent().setData(null);
getIntent().setFlags(0);

if (data != null && isValidUrl(data)) {
// open some special fragment
} else {
// open main fragment
}
}

@Override
protected void onDestroy() {
super.onDestroy();
Log.d(MainActivity.class.getName(), "onDestroy");
}

//...
}
Код манифеста приложения:

Код: Выделить всё

    ...
















...
Этот код работает отлично. Когда я открываю приложение из браузера по ссылке (

Код: Выделить всё

http://example.com/somepage.html
), у меня есть такой вывод:

Код: Выделить всё

D/com.package.MainActivity: onCreate data=http://example.com/somepage.html
Но если я выйду из приложения (с помощью кнопки «Назад») и снова открою приложение из недавнего меню, я получу тот же результат:

Код: Выделить всё

D/com.package.MainActivity: onDestroy
D/com.package.MainActivity: onCreate data=http://example.com/somepage.html
Я хочу очистить данные о намерениях в методе onCreate. Или есть способ определить, когда приложение запускается из недавнего меню?

UPD:
Я пробовал это сделать:< /p>

Код: Выделить всё

@Override
protected void onDestroy() {
super.onDestroy();

getIntent().replaceExtras(new Bundle());
getIntent().setAction("");
getIntent().setData(null);
getIntent().setFlags(0);

Log.d(MainActivity.class.getName(), "onDestroy");
}
Но это не помогает.

Подробнее здесь: https://stackoverflow.com/questions/343 ... n-from-url

Вернуться в «Android»