19

私はAndroidを使用して、Webページをアプリと相互作用させています。そのため、ドキュメントとチュートリアルを確認して、このサイトを思いついたのです。@JavascriptInterfaceその中に、WebViewからアクセスできるようにする関数の前に含める必要がある開発者リストと、それがないとJellyBeanは関数を認識しないというリストがあります。

私の問題は、それを入れると、次のようなエラーが発生することです。

@JavascriptInterfaceをタイプに解決できません

これがないと、コードはコンパイルされて正常に動作しますが、JellyBeanとの互換性が必要です。私は現在Android1.6をベースとして作業していますが、そうではありません@JavascriptInterfaceか?それはJellyBean固有のものですか?つまり、Jelly Bean専用のプログラムを作成する必要がありますか?どんな助けでも大歓迎です。これが私の完全なインターフェースクラスです:

import android.content.Context;

public class WebAppInterface{

    Context mContext;

    /** Instantiate the interface and set the context */
    WebAppInterface(Context c) {
        mContext = c;
    }

    /** Show a toast from the web page */
    //needed for jelly bean
    @JavascriptInterface
    public void turnOff() {
        MyAlarmPopup.turnOff();
    }

}
4

3 に答える 3

37

@JavascriptInterfaceJellyBeanで導入されました。

プロジェクトビルドターゲットをAPIレベル17に設定する必要があります

Eclipse IDEから、に移動し Project->Propertiesます。Androidを選択し、ターゲットを設定します

APKは古いバージョンのAndroidで動作します。

于 2013-02-02T00:59:27.130 に答える
21

これを追加する必要があります:

import android.webkit.JavascriptInterface;

こちらのサンプルを確認してください:

于 2013-02-21T06:13:54.353 に答える
0

Android Studioのユーザー向けの手順:

  1. build.gradleでminSdkVersionが17以上であることを確認してください
  2. 追加import android.webkit.JavascriptInterface;
于 2018-07-18T07:43:59.153 に答える