2015-10-10 6 views
8

Android WebView में स्थानीय html पृष्ठ रीडायरेक्ट करने के लिए Javascript रीडायरेक्ट का उपयोग कर की कोशिश कर रहा बिना कोई लक्ष्य शुरू करने से इनकार किया, Logcat में एक इरादे से शुरू होने से इनकार किया जाता है: एंड्रॉयड 5.1.1एक उपयोगकर्ता हावभाव वेब-दृश्य एंड्रॉयड

पर

परीक्षण

document.location = "index.html";

अस्वीकृत एक उपयोगकर्ता हावभाव के बिना कोई लक्ष्य शुरू करने, यूआरआई:

file:///android_asset/index.html

उत्तर

34

मैं नहीं हो सकता है 1,000 प्रयासों में प्रलेखन को पढ़ें Android.developer और यह मेरा समाधान

मुझे नहीं पता कि आप समझते हैं या नहीं, मैं स्पैनिश

बोलता हूं 10
webView.setWebViewClient(new WebViewClient() { 
    @Override 
    public boolean shouldOverrideUrlLoading(WebView view, String url) { 
     return false;     
    } 
}); 
+0

वर्क्स एक आकर्षण की तरह, धन्यवाद – Abdullah

+0

कार्य! @Abdullah कृपया यह जवाब स्वीकार करें यदि यह आपके लिए काम कर रहा है। –

+0

@Abdullah, कृपया इस उत्तर को स्वीकार करें। यह WebViewClient का सही – rkyr

-1

वैकल्पिक के रूप में, मैं पता लगा JavascriptInterface

को addJavascriptInterface प्रत्येक बटन क्लिक करें घटना आग कार्रवाई जोड़ने के लिए था
webView.addJavascriptInterface(new java2JSAgent(), "java2JSAgentVar"); //webView webview object 

public class java2JSAgent 
{ 
    @JavascriptInterface 
    public String getContacts() 
    { 
     String jsonResponse = "{result:'redirected'}"; 
     runOnUiThread(new Runnable() { 

      @Override 
      public void run() { 
       webView.loadUrl("file:///android_asset/index.html"); 
      } 
     }); 
     return jsonResponse; 
    } 
} 

एक अच्छा दृष्टिकोण लेकिन कम से कम अपनी कार्यशील :-) धन्यवाद

0

वहाँ कुछ मुद्दों यहाँ हैं।

  1. नवीनतम एंड्रॉइड से, वेबव्यू और क्रोम क्लाइंट अलग-अलग एप्लिकेशन है जिसे उपयोगकर्ता के इरादे के बिना स्वचालित रूप से अपडेट किया जा सकता है।

  2. क्रोम x> = 25 संस्करण से, वे बदल कैसे लोड हो रहा है यूआरएल एंड्रॉयड आवेदन जो वेबव्यू घटक उपयोग कर रहा है में काम कर रहा है। https://developer.chrome.com/multidevice/android/intents ऐसा लगता है कि वे उपयोगकर्ता हावभाव के बिना बदल रहा है यूआरएल अवरुद्ध कर रहे हैं और जावास्क्रिप्ट से प्रक्षेपित टाइमर

समाधान यहाँ URL परिवर्तन सक्रिय करने के लिए, बटन पर क्लिक उदाहरण के लिए उपयोगकर्ता के लिए मजबूर किया जा सके।

इसके अलावा, आप "shouldOverrideUrlLoading" WebView ग्राहक उपर्युक्त विधि ओवरराइड कर सकते हैं।

5

यह मेरे लिए काम किया:

webView.setWebViewClient(new WebViewClient()); 
संबंधित मुद्दे