@JavascriptInterface ne peut pas être résolu
Je travaille avec Android pour faire une page web d'interagir avec mon application. En tant que tel, je suis allé à travers la documentation et des tutoriels et des fini avec ce site. En cela, les développeurs de la liste que vous devriez inclure @JavascriptInterface
avant toute fonction que vous souhaitez être accessible par le WebView et que, sans elle, Jelly Bean ne reconnaît pas la fonction.
Mon problème est que lorsque je l'ai mis, j'obtiens un message d'erreur indiquant:
@JavascriptInterface ne peut pas être résolu à un type
Sans elle, mon code compile et fonctionne très bien, mais je veux Jelly Bean compatibilité. Je suis actuellement en train de travailler sur Android 1.6 comme une base, donc c'est juste qu'il a pas @JavascriptInterface
? C'est qu'un Jelly Bean chose en particulier, ce qui signifie que je vais devoir faire un programme spécifiquement pour Jelly Bean? Toute aide serait grandement appréciée. Voici mon interface complète de la classe:
import android.content.Context;
public class WebAppInterface{
Context mContext;
/** Instantiate the interface and set the context */
WebAppInterface(Context c) {
mContext = c;
}
/** Show a toast from the web page */
//needed for jelly bean
@JavascriptInterface
public void turnOff() {
MyAlarmPopup.turnOff();
}
}
OriginalL'auteur user1982687 | 2013-01-16
Vous devez vous connecter pour publier un commentaire.
@JavascriptInterface
est introduit dans JellyBean.Vous devez définir le Projet de construction de la Cible à l'API de Niveau 17
À partir de l'IDE Eclipse, allez à
Project->Properties
.Sélectionnez Android et définir la cible
L'APK va travailler sur les anciennes versions d'android.
comment puis-je faire pour le bas niveau API ??
OriginalL'auteur Tarak
Vous avez besoin d'ajouter ceci:
Vérifiez l'échantillon ici:
OriginalL'auteur willandlily
Étapes pour les utilisateurs d'Android Studio:
import android.webkit.JavascriptInterface;
Un peu plus d'explication détaillée pour ceux qui se demandent pourquoi vous devez faire les étapes ci-dessus:
1. est nécessaire parce que vous avez besoin d'un min sdk niveau de 17 ans, mais en tant QUE, contrairement à eclipse, le minsdkVersion est définie dans la construction.gradle et pas dans le fichier de manifeste. 2. l'importation doit être fait manuellement, parce que dans le courant Android Studio version 3.1.3 l'importation automatique ne permet pas de faire de l'importation pour l'annotation avec le raccourci alt + entrée, et je ne vois pas un moyen de le mettre dans le Fichier -> Paramètres -> Editor -> Général> Autom menu Importer.
OriginalL'auteur Balazs F.