2011-11-03 5 views
-1

나는 작업이있다 - 사용자에게 WebView를 제공하는 애플리케이션을 만들고 2 분 후에 닫아야한다. 이 코드 만든 :응용 프로그램에서 WebView를 닫으려면 어떻게해야합니까?

package com.nda.main; 

import java.util.Timer; 
import java.util.TimerTask; 

import android.app.Activity; 
import android.os.Bundle; 
import android.os.Handler; 
import android.os.SystemClock; 
import android.util.Log; 
import android.webkit.WebView; 
import android.webkit.WebViewClient; 

public class MainActivity extends Activity{ 

    WebView view; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.research); 

     view=(WebView)findViewById(R.id.webViewResearch); 
     view.loadUrl("http://www.google.com"); 

     Timer timer=new Timer(); 
     timer.schedule(new TimerTask(){ 

      @Override 
      public void run() { 
       // TODO Auto-generated method stub 
       MainActivity.this.finish(); 
      } 


     }, 120000); 
} 
} 

을하지만이 문제가 :

1) 활동 가까이 아니지만, 타이머의 이벤트가 될 것입니다됩니다. view.loadUrl()을 사용하지 않으면 Activity가 닫힙니다. 2) URL 입력을위한 사용자 입력란은 어떻게 제공합니까? EditText를 응용 프로그램에 삽입 할 수 있지만 더 쉽게 의미가있을 수 있습니까?

감사합니다.

+0

먼저 웹보기를 삭제하려고 시도 했습니까? MainActivity.this.view.destroy() –

+0

예, 예외가 발생하고 응용 프로그램이 종료됩니다. – user1023177

+0

오류 메시지는 무엇을 말합니까? –

답변

0

아마도 UI 스레드에서 활동을 완료해야합니다. 시험해보기 :

Timer timer = new Timer(); 
    timer.schedule(new TimerTask(){ 
     @Override 
     public void run() { 
      runOnUiThread(new Runnable() { 
       @Override 
       public void run() { 
        MainActivity.this.finish(); 
       } 
      }); 
     } 
    }, 120000); 
관련 문제