js调用android的版本兼容问题
16lz
2021-12-04
1,在android API Level 17及以上的版本中,就会出现js调用不了android的代码,这是版本兼容的问题,需要在调用的方法上面加一个注解:@JavascriptInterface,这个注解需要导入一个包:import android.webkit.JavascriptInterface;
下面是代码:
@Overridepublic void onCreate(Bundle savedInstanceState) {requestWindowFeature(Window.FEATURE_NO_TITLE);super.onCreate(savedInstanceState);this.loadUrl("file:///android_asset/www/index.html");//给js设置调用的方法this.appView.addJavascriptInterface(new JavaScripdtObject(), "android");}/** * 供js调用的对象方法 * * @author YUJIAN * */public class JavaScripdtObject {@JavascriptInterface//加入这个注解public void runAndroidMethod(String str) {Toast.makeText(MainActivity.this, "被js调用"+str, Toast.LENGTH_SHORT).show();}}//js代码
function getNode4(){var str = "javascrip木德";//调用android代码window.android.runAndroidMethod(str);}</script><input type="button" value="获取页面中的节点" onclick="getNode4()" />
更多相关文章
- android 拍照 onCreate() 调用两次的问题
- Android横竖屏切换小结
- 解决 android如何设置全屏模式
- Xamarin Mono Android实现“再按一次退出程序”
- Android开发工具——Android(安卓)studio1.0正式版使用技巧
- Android(安卓)性能优化之Java(Android)代码优化 (三)
- Android(安卓)神兵利器Dagger2使用详解(四)Scope注解的使用及源码
- Android常用代码之普通及系统权限静默安装APK
- [原创] Android(安卓)Activity onNewIntent() 详解