2015-01-05 2 views
-1

Я начинаю разработку приложений с использованием Java и имею требование, которое я не знаю, как это сделать. Мне нужно создать простую пусковую установку, которая просто запустит указанный веб-сайт в браузере по умолчанию (по сути, это то же самое, что создать ярлык изнутри браузера Chrome).Нужна помощь в создании простой веб-панели для андроида.

Я уже пытался создать приложение, и он запускает браузер, но он также открывает мое приложение, которое оставляет мой запуск в фоновом режиме. У меня есть следующие в OnCreate:

finish(); 
moveTaskToBack(true); 
System.exit(0); 

Другая вещь, которую я пытался использовал WebView, но сайт я связывающую для требует проверки подлинности и после первой аутентификации, кажется, не работает JavaScript, отлично работает начальная страница с использованием browser.getSettings().setJavaScriptEnabled(true)

Спасибо заранее,

Alex

UPDATE

protected void onCreate(Bundle savedInstanceState) { 
    Intent viewIntent = new Intent("android.intent.action.VIEW", Uri.parse("yourwebsite.com")); 
    startActivity(viewIntent); 

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

    finish(); 
    moveTaskToBack(true); 
    System.exit(0); 
} 
+1

Если вам это нужно в браузере по умолчанию, не используйте WebView. Вам просто нужно перенаправить на свой браузер и завершить свою деятельность. Можете ли вы разместить больше кода, чтобы мы могли видеть, как выглядит ваш поток? – zgc7009

+0

Конечно, вот что OnCreate выглядит 'защищаемого ничтожной OnCreate (Bundle savedInstanceState) { Intent viewIntent = новый Intent ("android.intent.action.VIEW", Uri.parse (" HTTP: // WWW. yourwebsite.com ")); startActivity (viewIntent); super.onCreate (savedInstanceState); комплектContentView (R.layout.activity_main); finish(); moveTaskToBack (true); System.exit (0); } ' –

+0

' System.exit (0); 'do not. – njzk2

ответ

1

Попробовать это

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    Intent viewIntent = new Intent(Intent.ACTION_VIEW, 
      Uri.parse("http://www.yourwebsite.com")); 

    startActivity(viewIntent); 
    finish(); 
} 

Вам нужно вызвать метод super первую очередь в вашем OnCreate метод. Он будет выполнять грубую работу, чтобы активировать вашу работу. Вам не нужно будет устанавливать ваш контент в следующий раз, но в этом случае это будет следующий шаг.

Затем вы построите и начнете свое перенаправление на браузер по умолчанию. Хорошо идти туда.

Наконец, вам нужно позвонить в отделку. Звонок

finish(); 
moveTaskToBack(true); 
System.exit(0); 

Как будто убить эту деятельность, похоронить ее в спину, наконец, выйти из сцены все вместе. Несмотря на то, что это отлично подходит для фильма ужасов, это необязательно (и потенциально опасно). Просто звоните finish() уведомит андроид, что приложение должно быть уничтожено и gc'ed.

UPDATE

Чтобы убедиться, что ваше приложение на самом деле убитым вы могли бы сделать что-то вроде этого:

@Override 
public void onStop(){ 
    Log.d("Kill Check","STOPPING APP"); 
    super.onStop(); 
} 

@Override 
public void onDestroy(){ 
    Log.d("Kill Check","DESTROYING APP"); 
    super.onDestroy(); 
} 

И убедитесь, что приложение остановки и/или уничтожены. Это должно быть, так как финал вызывается сразу после запуска активности браузера.

+0

Хм, я не уверен, что произошло, но теперь при запуске приложения я получаю сообщение об ошибке «К сожалению, MyApp остановился» –

+0

@AlexHazlett дайте мне минуту. Я просто набрал это очень быстро. Позвольте мне проверить это. – zgc7009

+0

На самом деле @ zgc7009, извините. Если бы у меня была проблема типа o: o проблема заключается в том, что мое приложение все еще работает. есть ли способ обойти это? –

Смежные вопросы