2016-01-30 31 views
0

我是Android新手,正在開發一個簡單的WebView應用程序。 我正在使用shouldOverrideUrlLoading來處理從我的遠程HTML到Android的一些命令。使用shouldOverrideUrlLoading處理Android WebView上的命令

public boolean shouldOverrideUrlLoading(WebView view, String url) { 
if(!url.startsWith("https://www.mywebsite.com)) { 
    switch (url) { 
     case "mycmd://app_logoff": 
      Toast.makeText(context, getString(R.string.logoff_ok), Toast.LENGTH_SHORT).show(); 
      appLogoff(); 
      break; 

     default: 
      view.getContext().startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(urlWeb))); 
    } 
} 

return true; 

我在我的Android設備(摩托羅拉X播放)上測試過,它效果很好!是否可以安全地說,這將適用於所有符合應用程序最低API級別的Android設備?這是一個很好的做法嗎?

回答

0

由於您使用的是shouldOverrideUrlLoading,意味着您正在實施自定義WebViewClientshouldOverrideUrlLoading應該爲您的應用程序提供在當前WebView中加載新網址時接管控件的機會。

按照開發商documentation這個API是API等級1補充,這樣基本上意味着它長期以來的支持和不應該是一個問題,只要最低API等級。

我想沒有人可以肯定地說,它將工作或不工作的所有設備,除非實際上對他們進行測試。您可能想要使用具有不同配置(如不同SDK /平臺,API級別等)的Android模擬器對它們進行測試,以確保它們雙重可靠。

作爲一個側面說明和謹慎,該方法不要求使用POST「方法」的要求。