3

Android で Phonegap を使用してハイブリッド アプリケーションを構築しています。これは、Android WebView を使用して JavaScript から Java API を呼び出すシナリオです。

Java Native API の実行中に例外が発生した場合、JavaScript で例外をキャッチしたいと考えています。これを実行すると動作しますが、Java ネイティブ コードが例外をスローすると、アプリケーションがクラッシュし、ログに以下の例外が表示されます

05-06 21:28:03.230: W/dalvikvm(705): JNI WARNING: JNI method called with exception raised

05-06 21:28:03.239: E/dalvikvm(705): VM aborting

Java ネイティブ コード:

public Object callNative() throws Exception {
    throw new Exception("Exception Occured");
}

JavaScript コード:

try {
   window.callNative();
} catch(e) {
    // Exception Caught
}
4

1 に答える 1

1

JavaScript から目的のメソッドを呼び出しているとは思えません。

window.callNative("STRING PARAMETER VALUE");

あなたの例によると、宣言されていない可能性が高い別のメソッドを呼び出しています。

window.callNative();

最初のコード ブロックで指定したメソッドを呼び出すようにコードを変更してください。

于 2013-05-06T18:53:54.713 に答える