2013-01-16 22 views
16

मैं अपने ऐप के साथ एक वेबपृष्ठ इंटरैक्ट करने के लिए एंड्रॉइड के साथ काम कर रहा हूं। इस प्रकार, मैं प्रलेखन और ट्यूटोरियल के माध्यम से चला गया है और this site के साथ आ रहा है। इसमें, डेवलपर्स सूचीबद्ध करते हैं कि आपको वेब व्यू द्वारा एक्सेस किए जाने वाले किसी भी फ़ंक्शन से पहले @JavascriptInterface शामिल करना चाहिए और इसके बिना, जेली बीन फ़ंक्शन को पहचान नहीं पाएंगे। , मेरे कोड को संकलित करता है और ठीक काम करता है@JavascriptInterface को हल नहीं किया जा सकता

@JavascriptInterface एक प्रकार

इसके बिना

को हल नहीं किया जा सकता है,:

मेरे समस्या यह है कि जब मैं उस में डाल दिया, मैं कह रहा कोई त्रुटि मिलती है लेकिन मुझे जेली बीन संगतता चाहिए। मैं वर्तमान में एंड्रॉइड 1.6 पर आधार के रूप में काम कर रहा हूं, तो क्या इसमें @JavascriptInterface नहीं है? क्या यह जेली बीन विशिष्ट चीज है, जिसका अर्थ है कि मुझे विशेष रूप से जेली बीन के लिए एक प्रोग्राम बनाना होगा? किसी भी तरह की सहायता का स्वागत किया जाएगा। यहां मेरा पूरा इंटरफ़ेस क्लास है:

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(); 
    } 

} 

उत्तर

36

@JavascriptInterface जेलीबीन में पेश किया गया है।

आप एपीआई स्तर 17

को लक्ष्य परियोजना बिल्ड स्थापित करने के लिए ग्रहण आईडीई से, Project->Properties करने के लिए जाने की जरूरत है। एंड्रॉइड का चयन करें और लक्ष्य

एपीके एंड्रॉइड के पुराने संस्करणों पर काम करेगा।

+0

यह सही है। अब मेरे साथ ठीक काम कर रहा हूँ। धन्यवाद .. – Nimmy

+2

@nimmy मैं कम एपीआई स्तर के लिए यह कैसे कर सकता हूं ?? –

19

आप इस जोड़ने की जरूरत:

import android.webkit.JavascriptInterface; 

Check the sample here:

+1

यह केवल तभी उपलब्ध होता है जब हम ऊपर दिए गए उत्तर की तरह एपीआई स्तर 17 पर लक्ष्य निर्धारित करते हैं। – Prateek

संबंधित मुद्दे