Android - открыть веб-страницу и вернуться к активности? - PullRequest
0 голосов
/ 10 июня 2011

Допустим, я нахожусь в Activity, пользователь нажимает кнопку, и я перехожу на веб-страницу.

Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse("SOME_URL"));
startActivity(i);

он переводит меня на веб-страницу, а затем, когда я нажимаю кнопку "Назад", переходит к моей деятельности, но запускается снова и снова. Поэтому можно ли сделать это таким образом, чтобы после нажатия кнопки «Назад» это привело меня к моей деятельности, но вместо onCreate он вызывает onRestart. Цель не пройдёт снова onCreate.

Ответы [ 2 ]

1 голос
/ 10 июня 2011

Это нормальный жизненный цикл действия ... вы можете сохранить состояние действия и восстановить его, чтобы получить "то же самое", что и раньше.

Главный вопрос должен быть следующим: почему вы не хотите проходить onCreate? Если это проходит через это, потому что это было разрушено прежде и должно быть воссоздано. Так что если вы не пройдете через это, это вызовет много хлопот.

0 голосов
/ 10 июня 2011

Вы можете установить намерение в своей деятельности (setIntent) перед вызовом веб-браузера, а затем в своем методе onCreate, проверить, не вызвало ли это намерение ответ (верните имя или дополнительное намерение) и, если это так, пропустите остальные. onCreate.

Перед вызовом веб-браузера:

Intent intentForThis = new Intent( "AfterWebBroswer" );
this.setIntent( intentForThis );

Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse("SOME_URL"));
startActivity(i);

А потом в вашем onCreateMethod

public void onCreate( Bundle b ) {
    if( !getIntent().getAction().equals("AfterWebBrowser") ) {
       //rest of onCreate
    }//if
}//met

С уважением, Stéphane

...