title: Unable to load webpage using WebView in Android
body: <p>I have recently taken up Android Development and I was looking to using the WebView display webpages. I picked up from the sample that was given on Google site and for some reason the emulator kept saying page was not available. I searched in StackOverflow and found links relating to WebViewClient. I tried that also but no luck there, I have checked multiple times about the manifest entry for internet permission and its there. As a test I ran the browser available within the emulator and sure enough my firewall popped up a question on whether to allow it access or not. The pop up never came to me when I was running it from program. The code that I have is what is there Google pages</p>
  
  <pre><code>    mWebView = (WebView) findViewById(R.id.webview);
      mWebView.getSettings().setJavaScriptEnabled(true);
      mWebView.loadUrl("http://www.google.com");  
      mWebView.setWebViewClient(new HelloWebViewClient());
  
      private class HelloWebViewClient extends WebViewClient {
      @Override
      public boolean shouldOverrideUrlLoading(WebView view, String url) {
          view.loadUrl(url);
          return true;
      }
  </code></pre>
  
  <p>I tried loading simple html directly using loadData and it worked fine. I am at loss as to what is happening and how this can be resolved. I would appreciate any help on this.</p>
  
  <p>Adding the Android Manifest here</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
  &lt;manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.hellowebview"
    android:versionCode="1"
    android:versionName="1.0"&gt;
  &lt;uses-sdk android:minSdkVersion="8" /&gt;
  
  &lt;application android:icon="@drawable/icon" android:label="@string/app_name"&gt;
      &lt;activity android:name=".HelloWebView"
                android:label="@string/app_name"
                android:theme="@android:style/Theme.NoTitleBar"&gt;
          &lt;intent-filter&gt;
              &lt;action android:name="android.intent.action.MAIN" /&gt;
              &lt;category android:name="android.intent.category.LAUNCHER" /&gt;
          &lt;/intent-filter&gt;
      &lt;/activity&gt;     
   &lt;uses-permission android:name="android.permission.INTERNET" /&gt;
  &lt;/application&gt;
  &lt;/manifest&gt;
  </code></pre>
  
  <p>To check if its just a WebView thingy, I tried accessing the internet using httpGet and httpResonse classes and got the same problem, the code was not able to connect to the given site. It failed stating the below</p>
  
  <blockquote>
    <p></p>
  </blockquote>
  
  <pre><code>05-10 00:37:53.191: WARN/System.err(294): java.net.UnknownHostException: feeds.feedburner.com
  05-10 00:37:53.230: WARN/System.err(294):     at java.net.InetAddress.lookupHostByName(InetAddress.java:513)
  05-10 00:37:53.230: WARN/System.err(294):     at java.net.InetAddress.getAllByNameImpl(InetAddress.java:278)
  05-10 00:37:53.230: WARN/System.err(294):     at java.net.InetAddress.getAllByName(InetAddress.java:242)
  05-10 00:37:53.250: WARN/System.err(294):     at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:136)
  05-10 00:37:53.250: WARN/System.err(294):     at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:164)
  05-10 00:37:53.250: WARN/System.err(294):     at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:119)
  05-10 00:37:53.271: WARN/System.err(294):     at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:348)
  05-10 00:37:53.271: WARN/System.err(294):     at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555)
  05-10 00:37:53.280: WARN/System.err(294):     at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:487)
  05-10 00:37:53.291: WARN/System.err(294):     at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:465)
  05-10 00:37:53.301: WARN/System.err(294):     at com.example.hellowebview.HelloWebView.onCreate(HelloWebView.java:43)
  05-10 00:37:53.301: WARN/System.err(294):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
  05-10 00:37:53.309: WARN/System.err(294):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
  05-10 00:37:53.322: WARN/System.err(294):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
  05-10 00:37:53.330: WARN/System.err(294):     at android.app.ActivityThread.access$2300(ActivityThread.java:125)
  05-10 00:37:53.340: WARN/System.err(294):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
  05-10 00:37:53.350: WARN/System.err(294):     at android.os.Handler.dispatchMessage(Handler.java:99)
  05-10 00:37:53.350: WARN/System.err(294):     at android.os.Looper.loop(Looper.java:123)
  05-10 00:37:53.361: WARN/System.err(294):     at android.app.ActivityThread.main(ActivityThread.java:4627)
  05-10 00:37:53.361: WARN/System.err(294):     at java.lang.reflect.Method.invokeNative(Native Method)
  05-10 00:37:53.372: WARN/System.err(294):     at java.lang.reflect.Method.invoke(Method.java:521)
  05-10 00:37:53.380: WARN/System.err(294):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
  05-10 00:37:53.380: WARN/System.err(294):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
  05-10 00:37:53.401: WARN/System.err(294):     at dalvik.system.NativeStart.main(Native Method)
  05-10 00:37:56.773: WARN/ActivityManager(58): Launch timeout has expired, giving up wake lock!
  05-10 00:37:58.083: WARN/ActivityManager(58): Activity idle timeout for HistoryRecord{44fc9108 com.example.hellowebview/.HelloWebView}
  05-10 00:38:06.300: DEBUG/KeyguardViewMediator(58): pokeWakelock(5000)
  05-10 00:38:06.651: INFO/ARMAssembler(58): generated scanline__00000077:03545404_00000004_00000000 [ 47 ipp] (67 ins) at [0x3724c8:0x3725d4] in 7266287 ns
  05-10 00:38:06.720: INFO/ARMAssembler(58): generated scanline__00000177:03515104_00001001_00000000 [ 91 ipp] (114 ins) at [0x371380:0x371548] in 1486222 ns
  05-10 00:38:30.430: DEBUG/AndroidRuntime(294): Shutting down VM
  05-10 00:38:30.430: WARN/dalvikvm(294): threadid=1: thread exiting with uncaught exception (group=0x4001d800)
  05-10 00:38:30.752: ERROR/AndroidRuntime(294): FATAL EXCEPTION: main
  05-10 00:38:30.752: ERROR/AndroidRuntime(294): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.hellowebview/com.example.hellowebview.HelloWebView}: java.lang.NullPointerException
  05-10 00:38:30.752: ERROR/AndroidRuntime(294):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
  05-10 00:38:30.752: ERROR/AndroidRuntime(294):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
  05-10 00:38:30.752: ERROR/AndroidRuntime(294):     at android.app.ActivityThread.access$2300(ActivityThread.java:125)
  05-10 00:38:30.752: ERROR/AndroidRuntime(294):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
  05-10 00:38:30.752: ERROR/AndroidRuntime(294):     at android.os.Handler.dispatchMessage(Handler.java:99)
  05-10 00:38:30.752: ERROR/AndroidRuntime(294):     at android.os.Looper.loop(Looper.java:123)
  05-10 00:38:30.752: ERROR/AndroidRuntime(294):     at android.app.ActivityThread.main(ActivityThread.java:4627)
  05-10 00:38:30.752: ERROR/AndroidRuntime(294):     at java.lang.reflect.Method.invokeNative(Native Method)
  05-10 00:38:30.752: ERROR/AndroidRuntime(294):     at java.lang.reflect.Method.invoke(Method.java:521)
  05-10 00:38:30.752: ERROR/AndroidRuntime(294):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
  05-10 00:38:30.752: ERROR/AndroidRuntime(294):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
  05-10 00:38:30.752: ERROR/AndroidRuntime(294):     at dalvik.system.NativeStart.main(Native Method)
  05-10 00:38:30.752: ERROR/AndroidRuntime(294): Caused by: java.lang.NullPointerException
  05-10 00:38:30.752: ERROR/AndroidRuntime(294):     at com.example.hellowebview.HelloWebView.onCreate(HelloWebView.java:51)
  05-10 00:38:30.752: ERROR/AndroidRuntime(294):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
  05-10 00:38:30.752: ERROR/AndroidRuntime(294):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
  05-10 00:38:30.752: ERROR/AndroidRuntime(294):     ... 11 more
  </code></pre>
  
  <p>Got it. For some reason the order in which the permission is set matters a lot. I changed the order of my permission setting in manifest file and it worked. Here's the modified manifest</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
  &lt;manifest xmlns:android="http://schemas.android.com/apk/res/android"
  package="com.example.hellowebview"
  android:versionCode="1"
  android:versionName="1.0"&gt;
  &lt;uses-sdk android:minSdkVersion="8" /&gt;
  &lt;uses-permission android:name="android.permission.INTERNET" /&gt;
  &lt;application android:icon="@drawable/icon" android:label="@string/app_name"&gt;
  &lt;activity android:name=".HelloWebView"
            android:label="@string/app_name"
            android:theme="@android:style/Theme.NoTitleBar"&gt;
      &lt;intent-filter&gt;
          &lt;action android:name="android.intent.action.MAIN" /&gt;
          &lt;category android:name="android.intent.category.LAUNCHER" /&gt;
      &lt;/intent-filter&gt;
  &lt;/activity&gt;     
  &lt;/application&gt;
  &lt;/manifest&gt;
  </code></pre>
  
  <p>I am not sure what is the significance of this but would appreciate if anyone could elaborate.</p>