0

所以我一直在嘗試讓我的一個活動顯示已發佈的Google表格網頁......並且我設法讓它在我的模擬器(nexus 5,API 22)上工作,但是當我在我的手機上運行應用程序(三星Galaxy S7),它打印出一條吐司消息「找不到文檔,可能文檔已被刪除」消失的URL的祕密

我試過用它來測試它,它在兩個仿真器和手機,所以我認爲代碼服務於它的目的。我真的不明白......

這裏是我的代碼的副本:

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_schedule); 
    WebView webView = new WebView(this); 
    webView.loadUrl("https://docs.google.com/spreadsheets/d/e/2PACX-1vSnBA-tNsQsUKOUCs8PkdADgMP2n4TFyl8JtKFkxUanIoXbcC9xuzY89Xw9oIRCL0ane3MKpZYRFrP1/pubhtml?gid=0&single=true"); 
    WebSettings settings = webView.getSettings(); 
    settings.setSupportZoom(true); 
    settings.setBuiltInZoomControls(true); 
} 

回答

0

我認爲谷歌是重定向您的網址到另一個URL。所以你可以嘗試下面的代碼來處理WebView中的重定向URL。

mWebView.setWebViewClient(new WebViewClient() { 
     public boolean shouldOverrideUrlLoading(WebView view, String url) { 
      view.loadUrl(url); 
      return false; 
     } 
    }); 
+0

感謝您的建議@Febi Mathew。我曾嘗試類似以前的東西,我的問題這是 '私有類MyWebViewClient擴展WebViewClient { @覆蓋 公共布爾shouldOverrideUrlLoading(的WebView視圖,字符串URL){ view.loadUrl(URL); 返回true;我試圖把你的代碼放在我的活動,但'mWebView'無法解決。我創建本地變量,創建字段,或創建參數(似乎這些似乎是是唯一的選擇...) 非常感謝! – Jagmaster

+0

有趣的是...我試着用已發佈的google文檔進行測試,它的工作完美,我不認爲這是一個代碼問題,然後......權限或佈局問題也許? – Jagmaster