2014-04-29 13 views
0

針對Android開發,我針對不再包含方法「setPluginsEnabled」(websettings)的SDK 18。如果用戶正在運行較舊的SDK(if version <= 4.2, websettings.setPluginsEnabled(true)),我想使用此方法,但我不確定是否可以抑制「方法未定義」錯誤。Android/Java:使用以前SDK中的方法,在當前SDK中未定義

@SuppressLint(「NewApi」)已經不在這裏工作

編輯:我終於明白,是setPluginsEnabledsetPluginState)的替代方法,但我仍然好奇,如果有一種方法可以抑制如果必要

回答

1

method undefined意味着編譯器無法在您提供的SDK上找到此方法。我想,你已經將SDK> 4.2附加到了你的項目中。它不能被抑制,如果你想使用這個方法,你應該在你的項目中使用舊的SDK。嘗試使用targetSDK = 17

+0

右,4.2 SDK 17,我瞄準SDK 18.所以,它聽起來像我應該告訴編譯器查找此方法在以前的SDK中? – Chicowitz

+0

@bababooey您可能將API級別定位爲18級,但是您要編譯哪個版本? - 這是一個重要的 – panini

+0

@panini編譯與18。我在項目設置中指定了這個。是否可以使用特定的SDK編譯特定的代碼塊? – Chicowitz

1

這是少數實際上已被刪除而不是被棄用的方法之一。 如果你想使用setPluginsEnabled編譯你的代碼,那麼你需要使用Android 4.2.2來編譯它(API 17)。在API 17之前,該方法剛被棄用。

你需要構建目標設定到Android 4.2.2或更低: enter image description here

+0

它實際上仍然可以運行到4.2,但是他們確實刪除了它。看起來像在4.3,'webView.getSettings()。setPluginState(WebSettings.PluginState.ON);'將工作,雖然 – Chicowitz

+1

他不需要將目標設置爲8.在版本9,這種方法只是宣佈爲棄用,但仍然可以使用。 – nikis

+1

謝謝。我相應地更新了我的答案。 –

相關問題