Webview Android, chargement de fichier javascript dans le dossier des actifs

J'ai vu cette question a été posée à un grand nombre de fois, mais ne peut toujours pas réussi à obtenir mon code de travail.

Je veux que mon webview pour charger une URL (dire www.google.com puis appliquer un peu de javascript stockées dans assets/jstest.jsqui contient les éléments suivants:

function test(){
document.bgColor="#00FF00"; //turns to green the background color
}

Et voici où j'essaie de charger le JS:

@Override  
public void onPageFinished(WebView view, String url){
    view.loadUrl("javascript:(function() { "
                + " document.bgColor='#FF0000';" //turns to red the background color
                + " var script=document.createElement('script'); "
                + " script.setAttribute('type','text/javascript'); "
                + " script.setAttribute('src', 'file:///android_asset/jstest.js'); "
                + " script.onload = function(){ "
                + "     test(); "
                + " }; "
                + " document.getElementsByTagName('head')[0].appendChild(script); "
                + "})()"); 
} 

Je sais que le javascript ici fonctionne parce que la couleur d'arrière-plan tourne au rouge, mais pour quelque raison il ne se charge pas jstest.js. Je pense que le problème pourrait être dans le chemin d'accès au fichier (j'en suis certain, une ligne de code javascript est correct), mais il semble correct pour moi. Et le fichier est dans le dossier de droite.

Ce qui me manque?

MODIFIER:

Depuis WebResourceResponse classe est uniquement disponible avec l'API de Niveau 11, voici ce que j'ai compris à la fin.

public void onPageFinished(WebView view, String url){
        String jscontent = "";
        try{
            InputStream is = am.open("jstest.js"); //am = Activity.getAssets()
            InputStreamReader isr = new InputStreamReader(is);
            BufferedReader br = new BufferedReader(isr);

            String line;
            while (( line = br.readLine()) != null) {
                jscontent += line;
            }
            is.close(); 
        }
        catch(Exception e){}
        view.loadUrl("javascript:(" + jscontent + ")()"); 
    } 

avec le jstest.js contenant simplement:

function() {
    document.bgColor="#00FF00";
}

source d'informationauteur Jacob