Android webView shouldOverrideUrlLoading pour les iframes

J'ai un site web local que Javascript est contrôlé et suis de le charger dans une WebView. Le site web est vraiment une page principale avec un iframe dont le contenu change en fonction de l'entrée utilisateur. Il y a un bouton "Suivant" sur la page principale qui s'exécute certaines fonctions javascript et décide de la page dans l'iframe (par l'entremise du document.getElement(...).src = )

En Android 2.1 les choses fonctionnent très bien simulée et sur le téléphone. La webview est le chargement de toutes les pages correctement.
Je l'ai testé sur un 2.2 téléphone et à chaque fois que je clique sur Suivant de la page (qui doivent être chargés dans l'iframe) est chargé dans le navigateur par défaut.

J'ai défini un filtre d'intention

   <intent-filter>
     <action android:name="android.intent.action.VIEW" />
     <category android:name="android.intent.category.DEFAULT" />
     <category android:name="android.intent.category.BROWSABLE" />
     <data
       android:scheme="file"
       android:host="*"
       android:pathPrefix="sdcard/Android/data/android.website/files/pages"
     />
    </intent-filter>

en espérant qu'il redirige les requêtes de page à l'activité, mais il ne fonctionne pas. L'url est toujours chargées par le navigateur.

À l'aide de shouldOverredeUrlLoading ne fonctionne pas bien, parce que le lien qui est chargé est celui de la structure interne. J'ai essayé de chargement au lieu du code javascript qui définit que l'url de la src de l'iframe, mais n'a pas fonctionné.

C'est bizarre que cela ne se produit que sur la version 2.2 de téléphone. Dans un 2.2 de l'émulateur, il fonctionne très bien.

Des idées?

OriginalL'auteur Victor | 2011-07-21