2

API 14以降と互換性が必要なAndroidアプリを構築しています。javascript インターフェイス内に 1 つのメソッドがあります。

api 17 からメソッドにアノテーションを追加する必要がありますが@JavascriptInterface、アプリは api 14 のターゲットであるため、アノテーションは後方 api ではサポートされていません。エラーが発生しました。しかし、アノテーションを追加しないと、Android 4.2 のモバイルで JavaScript がトリガーされません。

deviceOs が 4.2 よりも新しい場合、ifdef のようなものを作成することは可能ですか?

4

1 に答える 1

2

ビルド ターゲットを API レベル 17 に設定android:minSdkVersionします。サポートする Android の古いバージョンに設定します。次に、コードがコンパイルれ、@JavascriptInterface注釈が付けられます。Lint は、コード内で よりも新しいクラスやメソッドなどを使用している場所を指摘するandroid:minSdkVersionので、正しく行っていることを確認できます。

android:targetSdkVersionまたは、 16 以下に設定します。この場合@JavascriptInterfaceは必要ありません。http://developer.android.com/guide/webapps/webview.html#BindingJavaScriptを参照してください。

于 2013-04-25T12:55:08.507 に答える