Android + PhoneGap拦截URL(相当于iOS的shouldStartLoadWithRequest)

2024-07-01

我的 PhoneGap 包装的、本地托管的 Sencha Touch 应用程序会进行一些虚假的 URL 回调来与本机包装器进行通信。 (IE。app_callback://do_function_a).

在iOS中我实现了以下内容

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType;

检查是否有app_callback://URL,调用本机函数并返回 NO(以停止实际发生的导航)。

我可以在 Android 中实现类似的功能吗?

提前致谢!


@Override
public void onCreate(Bundle savedInstanceState) {
    super.setBooleanProperty("showTitle", true);
    super.onCreate(savedInstanceState);

    //creates super.appView and calls setContentView(root) in DroidGap.java
    init();

    this.appView.clearCache(true);
    this.appView.clearHistory();  
    this.appView.setWebViewClient(new CordovaWebViewClient(this, this.appView) {

        @Override
        public WebResourceResponse shouldInterceptRequest(WebView view, String url) {

            Log.d("DEBUG", "Should intercept request" +url);
            //Implement your code
            return super.shouldInterceptRequest(view, url);
        }

        @Override
        public void onLoadResource(WebView view, String url) {
            Log.d("DEBUG", "onLoadResource" +url);
            //Implement your code
            super.onLoadResource(view, url);
        }



        @Override
        public void onPageFinished(WebView view, String url) {
            Log.d("DEBUG", "On page finished "+url);
            //Implement your code
            super.onPageFinished(view, url);
        }


        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {

            Log.d("DEBUG", "should override url loading "+url);
            //Implement your code
            return super.shouldOverrideUrlLoading(view, url);


        }

    });super.loadUrl("file:///android_asset/www/index.html");}

这适用于 API 版本 9-17 重要的是还添加 onLoadResource

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android + PhoneGap拦截URL(相当于iOS的shouldStartLoadWithRequest) 的相关文章

  • Android + PhoneGap拦截URL(相当于iOS的shouldStartLoadWithRequest)

    我的 PhoneGap 包装的 本地托管的 Sencha Touch 应用程序会进行一些虚假的 URL 回调来与本机包装器进行通信 IE app callback do function a 在iOS中我实现了以下内容 BOOL webVi
  • 使用device_filter.xml资源文件过滤USB枚举结果

    按照中的说明进行操作Android USB 主机文档 http developer android com guide topics connectivity usb host html discovering d 我设法通过USB DEV
  • 在 Eclipse 中打开 Android XML 布局的快捷方式

    例如 如果我有类似的东西 setContentView R layout activity main 有没有快捷方式可以打开activity main xml 如果没有 有没有办法创建一个 Its there Just hold Ctrl
  • Android模拟器相机自定义图像

    有谁知道模拟器相机启动时可以打开一些个人照片吗 我有一个基于图像分析的应用程序 我希望当我单击相机按钮时 相机会打开而不是默认的 Android 模拟器移动图像 我希望它打开一些我设置为默认图像的图像 因此 当我选择拍照时 它只会显示该图像
  • 使用数据绑定后查看边距不起作用

    下面是gridview的item布局的代码 在此 layout margin 位于设计面板中 但当我运行时没有边距 我尝试检查其他标签 例如背景 发现它有效 类似的问题是线性布局的布局权重 它们也不起作用 这些在没有数据绑定的情况下工作得很
  • 更新 Android Studio 后 Android 模拟器无法运行

    我通常使用 Android Studio 从 2 2 3 更新到 2 3 后 我的模拟器不再工作 这也很困难 因为 Google 决定弃用独立 SDK 管理器 我发现我可以检查 选择 显示包详细信息 但我仍然无法让我的 Google And
  • 什么是运行时绑定?

    根据 Android 开发者指南 Intent 是一个提供运行时绑定独立组件之间 例如两个活动 什么是 运行时绑定 继承创建类型兼容性 它允许超类引用 引用子类的对象 反过来则不然 超类引用 指的是 子类的对象 只能用于 访问继承的和重写的
  • 如何以编程方式显示/隐藏导航抽屉

    我如何使用按钮来显示 隐藏导航抽屉 我已经使用过this https stackoverflow com questions 20971245 navigation drawer without actionbar 20971952 209
  • 从 android 将用户注册到 QuickBlox 用户

    我正在尝试在我的 Android 应用程序中使用 QuickBlox 我阅读了指南并导入了示例 一切正常 我更改了一些用户可以使用 EditText 作为用户名和另一个密码登录的内容 并且效果很好 但现在我想添加一个注册按钮 使用户能够注册
  • 将 Android SDK 工具更新至修订版 14 后出现 Ant 问题

    安装 Android SDK 工具修订版 14 执行 ant version 时为 ant 版本 1 8 2 以在 Android 4 0 ICS 上安装和测试我们的应用程序后 我注意到我们的自动构建脚本现在失败了 构建脚本正在执行 ant
  • Android:如何设置 Spinner 的最大尺寸?

    这是我的布局
  • 在 onClick 处理程序的活动类 [...] 中找不到方法 [...](View)

    当我按下按钮时fragment main xml 出现这个错误 java lang IllegalStateException Could not find a method sendMessage View in the activity
  • 从相同的代码创建应用程序的免费/付费版本

    所以我现在要讨论我的应用程序的发布时间了 我们计划发布两个版本 一个是基于广告的免费解锁版本 另一个是付费完全解锁版本 我设置了代码 只需在启动时设置一个标志即可启用 禁用广告并锁定 解锁所有功能 因此 从字面上看 这些版本之间只有一行代码
  • 语音识别 API,Google Voice 会这么做吗?

    我有一个 Android 应用程序的想法 我希望能够说出命令并让应用程序监听这些命令并执行一些操作 例如 我希望我的应用程序闲置并听我的声音 当它听到我说 开始 时 应用程序将开始执行某些操作 直到我说 停止 这个想法是把手机放下 而不必实
  • 无法解析目标“android-16”

    我使用的是安卓4 2 2 安装最新的SDK后 当我打开eclipse时 我可以看到所有在构建过程中出现问题的项目 以下是我得到的错误 请让我知道如何解决这个问题 Unable to resolve target android 16 我也遇
  • Android UserManager.isUserAGoat() 的正确用例?

    想要改进这篇文章吗 提供此问题的详细答案 包括引用和解释为什么你的答案是正确的 不够详细的答案可能会被编辑或删除 我正在查看 中引入的新 API安卓4 2 http en wikipedia org wiki Android version
  • 每个项目有 2 个 TextView 的 Android ListView

    我在网上看到的所有示例每个项目仅包含 1 个 TextView 并且它们从数组加载数据 我不明白如何指定哪些数据去哪里 例如我的项目布局如下所示
  • Cache.properties(系统找不到指定的文件)

    我刚刚开始使用 Android Studio 1 3 sdk 24 直到今天它都运行良好 我收到有关 cache properties 的错误消息 并删除了该缓存文件 但现在收到此错误消息 Error C Users user1 gradl
  • EditText“maxLines”属性不起作用

    我有一个多行 EditText 用户可以在其中输入长句子 这就是我想要的 高度为 6 行的 EditText 从第一行到第五行 我希望 EditText 的 IME 操作按钮具有 Enter 转到新行 按钮 在第六 最后 行 它应该更改为
  • commons-logging 定义的类与 Android Studio 更新后 Android 现在提供的类冲突

    我已经将 Android Studio 更新到版本 3 现在似乎无法编译我之前编译的项目而没有错误 错误信息如下 错误 错误 commons logging 定义了与以下内容冲突的类 Android 现在提供的类 解决方案包括寻找更新的 没

随机推荐

  • Google 表单提交按钮的 onClick 事件

    这让我发疯 我有一个简单的 Google 表单 可以接受订阅者代码及其时段时间 我的目的是通过 Google Forms 获取数据并将其保存到 Google Sheets插槽计时没有任何冲突 为了向您展示一个示例 我附上了我的表格和工作表的
  • 在`../node_modules/react-native/React`中没有找到`React-Core`的podspec

    我正在使用 React Native 当我尝试上传 Pod 时遇到此问题 我已经成功安装了node modules 但遇到了这个问题 问题是什么 如果我们删除 package lock json 和 node modules 文件夹 我会重
  • 使用 NSPredicate 进行反向字符串比较

    我一直在互联网上寻找这个答案 但到目前为止还没有运气 所以我需要咨询这里聪明又友善的人 这是我第一次在这里提问 所以我希望我做得正确 不要重复这个问题 对于我看到的所有示例 搜索字符串是核心数据中存储的内容的子字符串 另一方面 我想实现以下
  • 为什么我们不能将新字符串分配给 char 数组,而是分配给指针?

    我试图将字符串重新分配给预初始化的数组 a 但我得到的只是一个错误 main char a Sunstroke char b Coldwave a Coldwave b Sunstroke printf n s s a b 错误 从类型 c
  • 使用变量时sql语句速度慢

    我在 MariaDB 10 1 26 上运行以下 SQL 语句 大约有 2 000 行 并且可以立即得到结果 select value datetime from Schuppen where value select min value
  • 在 ASP.NET MVC 3 Web 应用程序项目之间共享视图

    我有几个 ASP NET MVC 3 Web 应用程序 它们有很多通用对象 相同的登录控制器 他们的登录系统之间的一些差异体现在web config files 抬头 明细视图 发票 付款单 付款单等 为了减少代码的冗余 我将通用控制器和视
  • Reactive Cocoa - 以编程方式设置文本时,不会调用 UITextView 的 rac_textSignal

    我正在实现一个聊天 UI 并使用 Reactive Cocoa 在用户键入时调整聊天气泡的大小 目前 我正在根据 textview 更新 UI 的布局rac textSignal 一切都工作得很好 除了一点 当用户sends消息中 我以编程
  • Xcode 4 构建设置中缺少下拉列表

    我正在使用 Xcode 4 并且在 构建设置 中所有下拉列表都已消失 我没有下拉列表 而是文本框 例如 请参见此图片 我完全困惑 如何再次启用下拉列表 在 Xcode 中 编辑器 gt 显示值 它对我有用
  • 如何像这样包裹div?

    假设您有一个具有固定高度和重量的 div 在图中是最里面的一个 并且您希望周围的 div 包含它 其外边距为例如1 厘米 你会怎么做 一种方法是使用inline block显示风格 div border 1px solid blue div
  • Hoptoad v.异常 v.异常_通知 v.异常_记录器

    以下哪种异常通知解决方案最好 卓越的 http getexceptional com Hoptoad http hoptoadapp com 异常通知 http github com rails exception notification
  • F# Power 问题接受两个参数均为 bigint

    我目前正在尝试使用 F 在互联网上找到的文章很有帮助 但作为一名 C 程序员 我有时会遇到一些情况 我认为我的解决方案会有所帮助 但实际上没有帮助或只是部分帮助 因此 我对 F 缺乏了解 很可能对编译器的工作原理缺乏了解 可能是我有时感到完
  • Java中无法到达的语句编译错误[重复]

    这个问题在这里已经有答案了 class For1 public static void main String args int a 0 for break System out println a Line 1 a Line 2 我知道第
  • 是否可以自定义keycloak使用的user_entity表?

    我正在尝试使用 keyCloak 进行 SSO 我在keycloak中设置了mysql而不是嵌入式h2数据库 然而 有一个问题 在udemy的讲座上 讲师告诉我们不建议直接处理db table 由keycloak创建 如果业务需求应用程序处
  • Perl:什么时候使用 system() 以及什么时候安装软件包?

    我工作的项目在由系统人员维护的机器上使用 Perl 脚本 安装 Perl 模块等软件包并不是一件容易的任务 您通常必须打电话给有权限的人来执行此操作 等待几天 了解包的 API 然后记住将其安装在每台新安装的配置机器上 多次选择的替代方案只
  • Python字典键(类对象)与多个比较器的比较

    我使用自定义对象作为 python 字典中的键 这些对象有一些默认值hash and eq定义的方法用于默认比较 但在某些功能中我需要使用不同的方式来比较这些对象 那么有什么方法可以覆盖或传递一个新的比较器来仅针对该特定函数进行这些关键比较
  • 从 MySQL 数据库中选择多个字段重复项

    我有一个旧论坛 其中包含具有重复的第一个帖子的线程 可能有不同的回复 我想删除除其中一个线程之外的所有线程 留下观看次数最高的线程 我有以下 SQL 查询来帮助识别重复线程 但我找不到一种方法让它仅列出 xf thread view cou
  • 如何在 React、ES6、Electron 应用程序上使用本机节点模块?

    我有一个 React Electron 应用程序 我希望能够从编译的 ES6 访问本机节点模块 使用 Babel 和 Webpack 例如 当我尝试要求 fs 节点模块访问文件系统时 出现以下错误 ERROR in src app js M
  • Yii 条件关系

    我有一个chat带字段的表 admin TINYINT owner id INTEGER 目标是在 Yii 中建立两个关系 admin gt array self BELONGS TO Admin owner id condition gt
  • 通过 JavaScript 传输事件来调用 :hover 伪类

    这是场景 您有两张图像 它们彼此堆叠在一起 最高阶的 z 索引图像负责处理点击事件 想想 Google 的 Map API 并且是透明的 而下面的图像负责视觉表示 这是一个伪 HTML CSS 表示 div visual container
  • Android + PhoneGap拦截URL(相当于iOS的shouldStartLoadWithRequest)

    我的 PhoneGap 包装的 本地托管的 Sencha Touch 应用程序会进行一些虚假的 URL 回调来与本机包装器进行通信 IE app callback do function a 在iOS中我实现了以下内容 BOOL webVi