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

Commit 488c81ae authored by Scott Main's avatar Scott Main
Browse files

docs: add note about javascript interface to 4.2 overview

Change-Id: I19454c481061b27197399d63abc466810b9e1ff8
parent e61116b9
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