当前位置: 首页 > wzjs >正文

c 网站开发模式seo案例分析

c 网站开发模式,seo案例分析,wordpress如何用nginx,html网站模板免费下载在 Android 开发中,JavaScript(JS)调用原生 Android 接口主要通过 WebView 组件实现。以下是常见的 3 种核心方式及具体实现逻辑: 1 1. addJavascriptInterface 注入接口​​ ​​原理​​:通过 WebView 向 JS 暴露…

在 Android 开发中,JavaScript(JS)调用原生 Android 接口主要通过 WebView 组件实现。以下是常见的 3 种核心方式及具体实现逻辑:

1

1. addJavascriptInterface 注入接口​

​原理​​:通过 WebView 向 JS 暴露一个 Java 对象,JS 可直接调用该对象中被 @JavascriptInterface 注解标记的方法
​步骤​​:

  • ​定义接口类​​:
    public class WebAppInterface {Context mContext;WebAppInterface(Context c) { mContext = c; }@JavascriptInterfacepublic void showToast(String msg) {Toast.makeText(mContext, msg, Toast.LENGTH_SHORT).show();}
    }
  • ​注入接口到 WebView​​:
    webView.getSettings().setJavaScriptEnabled(true);
    webView.addJavascriptInterface(new WebAppInterface(this), "AndroidBridge");
  • ​JS 调用​​:
    window.AndroidBridge.showToast("Hello from JS!");

​注意事项​​:

  • ​安全风险​​:若未使用 @JavascriptInterface 注解,可能导致任意方法被调用(如系统敏感 API)
  • ​API 版本​​:需最低支持 API 17(Android 4.2)

​2. 拦截 WebChromeClient 对话框​

​原理​​:通过重写 WebChromeClient 的对话框回调方法(如 onJsPrompt),解析 JS 发送的指令
​步骤​​:

  • ​自定义 WebChromeClient​​:
    webView.setWebChromeClient(new WebChromeClient() {@Overridepublic boolean onJsPrompt(WebView view, String url, String message, String defaultValue, JsPromptResult result) {if (message.startsWith("native:")) { // 协议约定handleNativeCall(message); // 解析并执行原生逻辑result.confirm("success"); // 返回结果给 JSreturn true;}return super.onJsPrompt(view, url, message, defaultValue, result);}
    });
  • ​JS 调用​​:
    prompt("native:showToast", "{'msg':'Hello'}"); // 通过 prompt 发送指令

​适用场景​​:

  • 需要双向通信(JS 可获取原生返回值);
  • 兼容低版本 Android(无需依赖 @JavascriptInterface

​3. 拦截 URL Scheme​

​原理​​:JS 触发特定格式的 URL 请求(如 myapp://action?params),Android 通过 shouldOverrideUrlLoading 拦截并处理
​步骤​​:

  • ​自定义 WebViewClient​​:
    webView.setWebViewClient(new WebViewClient() {@Overridepublic boolean shouldOverrideUrlLoading(WebView view, String url) {if (url.startsWith("myapp://")) { // 协议约定parseUrl(url); // 解析 URL 并执行对应逻辑return true; // 阻止默认加载}return super.shouldOverrideUrlLoading(view, url);}
    });
  • ​JS 调用​​:
    window.location.href = "myapp://showToast?msg=Hello"; // 或通过 iframe 触发

​优缺点​​:

  • ​优点​​:兼容性最好(支持所有 Android 版本);
  • ​缺点​​:仅支持单向调用(JS 无法直接获取原生返回值)

​安全建议​

  1. ​输入校验​​:对 JS 传递的参数进行严格校验,防止注入攻击
  2. ​最小权限原则​​:仅暴露必要的接口方法,避免敏感操作(如文件读写)
  3. ​HTTPS 加密​​:加载远程页面时使用 HTTPS,避免中间人攻击

http://www.dtcms.com/wzjs/307175.html

相关文章:

  • 有什么网站做兼职靠谱一些seo还有用吗
  • 学校网站的建设论文搜索引擎优化免费
  • 微信小程序开发教程模板长春seo排名
  • 骏域网络seo管理工具
  • 百度首页网站推广多少钱一年淘宝交易指数换算工具
  • 宁夏一站式网站建设百度地图疫情实时动态
  • 网站如何安装源码网站优化推广服务
  • 最优惠的郑州网站建设关键词智能优化排名
  • 免费查企业电话网站百度经验悬赏任务平台
  • 深圳市建设工程资料网站seo自己怎么做
  • 动态网站怎么建设长春seo优化企业网络跃升
  • 做海关授权的网站seo站内优化
  • 展示型网站制作京东seo搜索优化
  • 广告流量投放关键词优化如何做
  • 个人网站做什么资源赚钱长春关键词搜索排名
  • 网站做视频怎么赚钱的大连百度网站排名优化
  • dede+营销型网站网络广告投放渠道有哪些
  • 上海市卫生健康委员会公司百度官网优化
  • 如何在电脑上制作网页手机优化软件
  • 中山精品网站建设行情网络推广销售是做什么的
  • 做门户网站需要什么手机网站制作
  • 做电影解析网站seo排名规则
  • 苏州市建设局投诉网站宁波网站推广代运营
  • 不囤货的网店怎么开seo搜索优化工具
  • 建筑人才网档案查询专业seo推广
  • 简单的旅游网站怎么做网络平台建站
  • 机械东莞网站建设佛山网站设计实力乐云seo
  • 做外贸网站建设国外免费推广网站有哪些
  • 个人网站可以做商业吗seo推广收费标准
  • 怎样免费做公司网站企业培训十大热门课程