Cannot run custom URL scheme with webView
<p>As stated in the question title, I am having an issue with running a custom URL(stoneware.app.switcher://) from my simple webView application. When the webView app is started, it automatically loads a page that has a custom url link. When clicked, the link should start a local application on my android tablet. Said local application was written by me and I am positive that it is installed. When I "click" that link from inside the browser, it launches the local application without a hitch. When I click that same link from inside my webView, however, it tells me that the webPage is unavailable. So far, my search has turned up nothing on the subject. Has anyone else had this problem, and is there a fix for it? If necessary I can post my code, but I don't know if it would make much of a difference. Thank you in advanced for your time,</p>

<p>-Paul</p>

<p>The manifest for the app that I am trying to call is as follows:</p>

<pre><code>    &lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="appcall.thing"
      android:versionCode="1"
      android:versionName="1.0"&gt;
      &lt;uses-sdk android:minSdkVersion="4" /&gt;

    &lt;application android:icon="@drawable/icon" android:label="@string/app_name"&gt;
        &lt;activity android:name=".AppCallActivity"
                  android:label="@string/app_name"&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;intent-filter&gt;
                &lt;data android:scheme="stoneware.app.switcher" /&gt;
                &lt;action android:name="android.intent.action.VIEW" /&gt;
                &lt;category android:name="android.intent.category.DEFAULT"/&gt;
                &lt;category android:name="android.intent.category.BROWSABLE"/&gt;
            &lt;/intent-filter&gt;
        &lt;/activity&gt;
    &lt;/application&gt;
    &lt;/manifest&gt; 
</code></pre>

<p>The code for my webView application is this:</p>

<pre><code>package com.derp.helloWorld;
import java.io.File;
import java.util.*;
import android.R.menu;
import android.app.Activity;
import android.app.FragmentTransaction;
import android.content.Context;
import android.content.ContextWrapper;
import android.os.Bundle;
import android.text.format.DateUtils;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener;
import android.view.Window;
import android.webkit.WebView;
import android.widget.Button;
import android.widget.TextView;

public class HelloWorldActivity extends Activity{
    int currentView;
    public WebView navView;
   public void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   currentView = 1000;
   //views = new ArrayList&lt;WebView&gt;();
   navView = new WebView(this);
   setContentView(navView);
   navView.setWebViewClient(new HelloWebViewController(false, this));
   //navView.loadUrl("http://www.google.com");
   navView.getSettings().setJavaScriptEnabled(true);
   clearCache(this, 0);
   navView.loadUrl("http://192.168.1.166");
 }
 static int clearCacheFolder(final File dir, final int numDays) {
        int deletedFiles = 0;
        if (dir!= null &amp;&amp; dir.isDirectory()) {
            try {
                for (File child:dir.listFiles()) {

                    //first delete subdirectories recursively
                    if (child.isDirectory()) {
                        deletedFiles += clearCacheFolder(child, numDays);
                    }

                    //then delete the files and subdirectories in this dir
                    //only empty directories can be deleted, so subdirs have been done first
                    if (child.lastModified() &lt; new Date().getTime() - numDays * DateUtils.DAY_IN_MILLIS) {
                        if (child.delete()) {
                            deletedFiles++;
                        }
                    }
                }
            }
            catch(Exception e) {
                System.out.println("Failed to clean the cach");
        }

     }
            return deletedFiles;
     }      
        /*
         * Delete the files older than numDays days from the application cache
         * 0 means all files.
         */
        public static void clearCache(final Context context, final int numDays) {
           System.out.println(numDays);
            int numDeletedFiles = clearCacheFolder(context.getCacheDir(), numDays);
            System.out.println(numDeletedFiles);
        }


 }
</code></pre>
