2013-04-30 20 views
0

我有一个简单的应用程序,我无法让WebView显示google.com。WebView不能使用INTERNET权限

没有错误,但没有任何显示在EditText上。

我已经添加了Internet权限,但它不起作用。

这是我的清单。

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="com.example.taxihelperforcustomer" 
android:versionCode="1" 
android:versionName="1.0" > 

<uses-sdk 
    android:minSdkVersion="8" 
    android:targetSdkVersion="16" /> 

<uses-permission android:name="android.permission.INTERNET" /> 

<application 
    android:allowBackup="true" 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/AppTheme" > 
    <activity 
     android:name="com.example.taxihelperforcustomer.MainActivity" 
     android:label="@string/app_name" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
</application> 

</manifest> 

我认为清单中没有问题。 我不知道问题到底是什么。 这是我的代码。

EditText mResult; 
public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     mResult = (EditText)findViewById(R.id.result); 

     Button btn = (Button)findViewById(R.id.sendBtn); 
     btn.setOnClickListener(new Button.OnClickListener(){ 

    public void onClick(View v) { 
    // TODO Auto-generated method stub 

    String html = DownloadHtml("http://www.google.com"); 
    try{ 

    mResult.setText(html); 

    } catch(HTMLException e) { 
    Toast.makeText(v.getContext(), e.getMessage(), Toast.LENGTH_LONG).show(); 
    } 
    } 
     }); 
    } 

public String DownloadHtml(String addr){ 
    StringBuilder googleHtml = new StringBuilder(); 
    try{ 
     URL url = new URL(addr); 
     HttpURLConnection conn = (HttpURLConnection)url.openConnection(); 
     if(conn != null){ 
     conn.setConnectTimeout(10000); 
     conn.setUseCaches(false); 
     if(conn.getResponseCode() == HttpURLConnection.HTTP_OK){ 
      BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream(), "EUC-KR")); 
      for(;;) 
      { 
       String line = br.readLine(); 
       if(line == null) 
        break; 
       googleHtml.append(line + "\n"); 
      } 
      br.close(); 
     } 
     conn.disconnect(); 
    } 
    } catch(Exception ex){ 
     Toast.makeText(this, ex.getMessage(), Toast.LENGTH_LONG).show(); 
    } 
    return googleHtml.toString(); 
    } 

LogCat上没有错误或消息。 我在我的设备上测试此代码。

+1

您没有'WebView'。 – CommonsWare 2013-04-30 18:53:24

+0

你有什么尝试?例如,您是否尝试过调试并查看在您完成代码时会发生什么?您是否尝试添加日志语句以查看正在执行哪些代码行以及在流程的不同步骤中获得的结果类型? – 2013-04-30 18:53:32

+0

你想在webview中显示url。 – Raghunandan 2013-04-30 18:59:53

回答

0

您不应该从主线程访问网络。使用AsyncTask来执行访问。

相关问题