के बीच एक्समरिन एंड्रॉइड दो तरह का संचार मैं एक्समरिन एंड्रॉइड का उपयोग करके एक ऐप विकसित कर रहा हूं जिसमें वेबव्यू एक वेब पेज प्रदर्शित कर रहा है। मैं WebView से C# तक जावास्क्रिप्ट के बीच दो तरह के संचार को कार्यान्वित करना चाहता हूं। मैं इस link का उपयोग कर जावास्क्रिप्ट से सी # को कॉल कर सकता हूं। हालांकि मुझे डेटा को सी # से जावास्क्रिप्ट में वापस भेजने का कोई तरीका नहीं मिला। इस दृष्टिकोण में डेटा को आगे और आगे भेजने का कोई तरीका है। मैंने सोचा था कि जावास्क्रिप्ट में कॉलबैक लिखना काम करेगा लेकिन इसे सी # कोड से कैसे फायर करना है।जावास्क्रिप्ट और सी #
अब, मेरी समस्या यह है कि वेबव्यू को जावास्क्रिप्ट इंटरफ़ेस क्लास से कैसे कॉल करें। मेरे पास एक जावास्क्रिप्ट इंटरफेस क्लास है जैसा कि https://developer.xamarin.com/recipes/android/controls/webview/call_csharp_from_javascript/ नेमस्पेस स्कैनर एंड्रॉइड { पब्लिक क्लास जेएसआईटरफेस: जावा.लांग.ऑब्जेक्ट { संदर्भ संदर्भ; वेबव्यू वेब व्यू;
public JSInterface (Context context, WebView webView1)
{
this.context = context;
this.webView = webView1;
}
[Export]
[JavascriptInterface]
public void ShowToast()
{
Toast.MakeText (context, "Hello from C#", ToastLength.Short).Show();
this.webView.LoadUrl ("javascript:callback('Hello from Android Native');");
}
}
}
कोड लोडयूआरएल लाइन पर एक अपवाद फेंकता है। java.lang.Throwable: धागे 'थ्रेड -8 9 1' पर एक वेब व्यू विधि बुलाया गया था। सभी वेब दृश्य विधियों को एक ही धागे पर बुलाया जाना चाहिए। (अपेक्षित लूपर लूपर (मुख्य, टिड 1) {42ce58a0} शून्य पर बुलाया गया है, एफवाईआई मुख्य लूपर लूपर (मुख्य, टिड 1) {42ce58a0})
अब मैं इस जावा स्क्रिप्ट इंटरफ़ेस से वेबव्यू को संदर्भित करने का संघर्ष कर रहा हूं कक्षा
[वेबव्यू में एंड्रॉइड कॉलिंग जावास्क्रिप्ट फ़ंक्शंस का संभावित डुप्लिकेट] (http://stackoverflow.com/questions/4325639/android-calling-javascript-functions-in-webview) – Cheesebaron