मुझे एक फॉर्म (पोस्ट) युक्त एचटीएमएल के साथ WebView
मिला है। कुछ सबमिट बटन पर क्लिक करते समय मुझे एक JSON प्रतिक्रिया मिलती है।वेबव्यू में POST अनुरोध के JSON प्रतिक्रिया को मैं कैसे प्राप्त कर सकता हूं?
मैं यह JSON कैसे प्राप्त कर सकता हूं?
यदि मैं अनुरोध को अवरुद्ध नहीं करता हूं तो जेसन को वेबव्यू पर प्रदर्शित किया जाता है, तो मुझे लगता है कि मुझे shouldInterceptRequest
(मैं एपीआई 12 का उपयोग कर रहा हूं) का उपयोग करना चाहिए, लेकिन मुझे नहीं पता कि इसमें जेसन कैसे प्राप्त करें।
या शायद एक बेहतर तरीका है, जैसे अनुरोध के बजाय प्रतिक्रिया को रोकना?
mWebView.loadUrl(myURL);
isPageLoaded = false; // used because the url is the same for the response
mWebView.setWebViewClient(new WebViewClient() {
@Override
public WebResourceResponse shouldInterceptRequest (WebView view, String url) {
if(isPageLoaded){
// get the json
return null;
}
else return super.shouldInterceptRequest(view, url);
}
public void onPageFinished(WebView view, String url) {
isPageLoaded = true;
}
});
धन्यवाद
यह काम नहीं करता है क्योंकि यूआरएल फॉर्म के साथ एक जैसा है, और आपके समाधान के साथ मुझे फॉर्म के साथ एचटीएमएल मिलता है। अनुरोध को अवरुद्ध करने के बजाय, मुझे वेबव्यू में इसे प्रदर्शित करने से पहले प्रतिक्रिया को रोकना चाहिए, या पोस्ट पैराम्स के साथ अनुरोध भेजना चाहिए ... – jul
आपको फॉर्म पेज को अनदेखा करना चाहिए और अगले पृष्ठ लोडिंग को पकड़ना चाहिए ... दस्तावेज़ कहता है "देता है मेजबान एप्लिकेशन को वर्तमान वेबव्यू में एक नया यूआरएल लोड होने के बारे में नियंत्रण पर लेने का मौका मिलता है। " तो जब फॉर्म लोड पूर्ण हो जाता है तो आपको ध्वज सेट करना चाहिए, और तत्काल लोड होने वाली तत्काल लोडिंग को पकड़ना चाहिए .. – Ronnie
यूआरएल की तुलना न करें .. फ़ॉर्म लोड होने पर और जब जेसन लोड हो रहा है तो यह जानने के लिए ध्वज सेट करें .. – Ronnie