Androidのバグ:@TargetApi(apiVersion):呼び出しにはAPIレベル21が必要です(現在の最小値は16です)
Android Bug Targetapi
APIにより、WebViewページのロングビュー機能を実行中
WebView.enableSlowWholeDocumentDraw()
呼び出し、例外が発生しました:呼び出しにはAPIレベル21が必要です(現在の最小値は16です)
この例外の理由:プロジェクトのminSdkVersionは16ですが、上記のAPI呼び出しに必要な最小APIバージョンは21です。Androidlintは、「このアプリケーションのすべてのバージョンで使用可能な呼び出しがないことを警告します」、つまり、バージョンの互換性の問題が発生します。バージョン21以下のシステムでは、上記のAPIを呼び出すアプリケーションがクラッシュします。
この警告を排除する方法も非常に簡単です。上記のAPIを呼び出すメソッドにinvitroでコメントを追加します。
@Target(21)
ただし、21バージョン未満のシステムでは、APIメソッドが呼び出されたときにシステムバージョンを判断する必要もあります。 通話のクラッシュを解決する 問題:
if (Build.VERSION.SDK_INT >= 21) { WebView.enableSlowWholeDocumentDraw() }
上記の警告を排除するために、わずかな違いはありますが、利用可能なコメントがあります。
@SuppressLint('NewApi')
違いは次のとおりです。
(1)@TargetApi(apiVersion):apiVersionで指定されたAPIバージョンで使用されているメソッドによって報告されたandroidlintエラーを排除します
(2)@SuppressLint( 'NewApi'):すべてのバージョンAPIで使用されるメソッドレポートのandroidlintエラーを排除します