Как очистить данные о намерениях в действии после открытия по 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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