Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7c3e0dcc authored by Scott Main's avatar Scott Main Committed by Android Git Automerger
Browse files

am b5261bfe: am 36c14ef8: am 488c81ae: docs: add note about javascript interface to 4.2 overview

* commit 'b5261bfe':
  docs: add note about javascript interface to 4.2 overview
parents c1fd3ca5 b5261bfe
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -111,6 +111,20 @@ android:targetSdkVersion}</a> and <a href="{@docRoot}guide/topics/manifest/uses-
android:minSdkVersion}</a> is lower than 17, your app is not able to modify the settings that have
moved to {@link android.provider.Settings.Global} when running on Android 4.2 and higher.</p>
  </li>

  <li>If your app uses {@link android.webkit.WebView}, Android 4.2 adds an additional layer of
  security so you can more safely <b>bind JavaScript to your
  Android code</b>. If you set your
  <a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code targetSdkVersion}</a>
  to 17 or higher, you must now add the {@code @JavascriptInterface} annotation to any method that you
  want available to your JavaScript (the method must also be public). If you do not provide the
  annotation, the method is not accessible by a web page in your {@link android.webkit.WebView}
  when running on Android 4.2 or higher. If you set the
  <a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code targetSdkVersion}</a>
  to 16 or lower, the annotation is not required, but we recommend that you update your target version
  and add the annotation for additional security.
    <p>Read more about <a href="{@docRoot}guide/webapps/webview.html#BindingJavaScript">binding
    JavaScript code to Android code</a>.</p></li>
</ul>


+2 −2
Original line number Diff line number Diff line
@@ -178,8 +178,8 @@ public class WebAppInterface {
href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code targetSdkVersion}</a>
to 17 or higher, <strong>you
must add the {@code &#64;JavascriptInterface} annotation</strong> to any method that you want
available your web page code (the method must also be public). If you do not provide the
annotation, then the method will not accessible by your web page when running on Android 4.2 or
available to your JavaScript (the method must also be public). If you do not provide the
annotation, the method is not accessible by your web page when running on Android 4.2 or
higher.</p>

<p>In this example, the {@code WebAppInterface} class allows the web page to create a {@link