Открытие веб-браузера из приложения Android - PullRequest
0 голосов
/ 04 ноября 2010

Я создал приложение для простого открытия веб-браузера и перехода на определенный веб-сайт.Однако после первого запуска, если я перейду к другому приложению и снова запусту приложение, я не получу ничего, кроме черного экрана.Я знал, что могу найти страницу из веб-браузера, однако мне интересно, есть ли способ вернуть контент при запуске приложения, и пользователь мог бы вернуться к работе с того места, где он остановился.

вот мой код:

public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    /** setup the url and start a browser with 
     *  the hotmial.com and return to the user
     * */
    String url = "http://www.hotmail.com";
    Intent i = new Intent(Intent.ACTION_VIEW);
    i.setData(Uri.parse(url));
    startActivity(i);

}

Спасибо, ребята

Ответы [ 4 ]

3 голосов
/ 04 ноября 2010

Взгляните на активность жизненный цикл . Возможно, вы захотите перенести свое намерение на OnStart (), когда приложение вернется на передний план после остановки.

2 голосов
/ 04 ноября 2010

Действие может все еще существовать, когда вы запускаете приложение во второй раз; возможно onCreate не называется.

После того, как вы бросите Intent для запуска браузера, закройте действие, чтобы каждый раз происходило onCreate.

Если ваша заявка здесь только для того, чтобы дать ссылку на веб-сайт, это, на мой взгляд, много накладных расходов. Пользователи Android могут создать ярлык на любом веб-сайте, который им нужен, на рабочем столе, при этом значок ярлыка отображается со значком сайта в углу.

0 голосов
/ 05 ноября 2010

Почему бы вам не использовать android.webkit.WebView, который позволит вам непосредственно просматривать веб-страницы в вашем приложении.Здесь веб-контент будет оставаться постоянным, пока приложение работает.На случай, если ваше приложение остановится, вы можете сохранить URL-адрес, используя WebView.getURL (), что позволит вам продолжить с того места, на котором вы остановились, при следующем запуске приложения.Если это то, что вы хотите сделать, дайте мне знать, и я опубликую пример кода.

0 голосов
/ 04 ноября 2010

Попробуйте, если вы хотите открыть браузер за пределами вашего приложения. Я знаю, что это кажется простым (и тривиальным) редактированием, но у меня никогда не было проблем с его настройкой.

public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    /** setup the url and start a browser with 
     *  the hotmial.com and return to the user
     * */
    String url = "http://www.hotmail.com";
    Uri uri = Uri.parse(url);
    Intent i= new Intent(Intent.ACTION_VIEW, uri);  
    startActivity(i);

}
...