- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在我的应用程序中使用 addJavascriptInterface 从 Javascript 弹出一个共享窗口。
问题是:当我在开发环境中使用我的手机时,我可以看到弹出窗口。但同样在发布到谷歌和下载后不起作用。我正在使用 Android 4.2 Jellybean 移动设备进行测试。
我尝试了几种方法,但都没有用。
------------onCreate------------
wvMainMenu = (WebView) findViewById(R.id.wvMainMenu);
wvMainMenu.getSettings().setJavaScriptEnabled(true);
wvMainMenu.getSettings().setLightTouchEnabled(true);
wvMainMenu.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
wvMainMenu.addJavascriptInterface(new WebappInterface(this), "Android");
--------Javascript 内部----------------
函数 share_it(id) {
Android.share_this(msg[id]);
-----WebappInterface.java--------
@JavascriptInterface public void share_this(String str) {
Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND);
String sharedText = "Text to share " + str;
sendIntent.putExtra(Intent.EXTRA_TEXT, sharedText);
sendIntent.setType("text/plain");
mContext.startActivity(sendIntent);
}
最佳答案
好的。没有人回答,但我自己解决了问题。当您使用 Proguard 时,您的方法名称会发生变化。因此,在从 javascript 调用它们时,由于方法名称更改,调用方法不起作用。
所以这里发生了什么,当我在开发期间运行时,由于开发中没有 Proguard,它工作正常。但是当生成签名的 apk 时,Proguard 会混淆方法名称并停止 javascript 接口(interface)运行。
你有两个选择:1.禁用Proguard2.为Proguard添加异常
关于android - 为什么 addJavascriptInterface 在发布后不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26374509/
是否可以将js中的任意函数对象传递给java端,让java调用那个js对象? (回调) 例如,(access是已经注册调用Java函数的函数) access(function(blabla){
我知道要从 Javascript 与 Java 交互,您必须使用 webview 中的 addjavascriptInterface 方法注入(inject) Java 对象。 这是我面临的问题。 我
我正在尝试向当前加载的 html 添加一些新内容(在 webview 中),这不是问题所在,我可以通过 javascript 向主体添加新标签,假设这样: loadUrl("javascript:(f
我在我的应用程序中使用 addJavascriptInterface 从 Javascript 弹出一个共享窗口。 问题是:当我在开发环境中使用我的手机时,我可以看到弹出窗口。但同样在发布到谷歌和下载
我需要从 Web 响应中调用我的 java 函数: 这是我的代码,请指出我哪里出错了 Activity : @InjectView(R.id.loadCardWebView) android.
AndroidStudio 开始向我显示警告“不应调用 WebView.addJavascriptInterface”。但是这种方法存在并且没有被弃用。它出什么问题了?可能是我遗漏了什么,现在有更好的
我试图跟踪代码以查看 WebView 上的 addJavascriptInterface() 是如何实现的,但它深入到 native 代码中,这基本上削弱了我理解正在发生的事情的能力。 具体来说,我正
当在 html 页面中单击表格行时,我试图从我的 Web View 中获得回调。我的 Activity 如下: public class LocalizationTestActivity exten
我使用以下代码在 Android 中的 JavaScript 文件中提取字符串变量: 这是我的 JavaScript 文件: //EDIT: clsVariable = "vikrant"; fun
我想使用 phonegap cordova 在 android 中构建 native 应用程序。我找到了 2 种方法让我的 html 文件可以与我的 java 文件通信。我可以使用 appView.a
我们已经构建了 PhoneGap 插件来从我们的 Javascript 代码返回到我们的 Java 代码。我知道 Android 也有一个 addJavascriptInterface 函数。此处的文
我正在尝试将 javascript 接口(interface)添加到我找到的 WebView。我遵循了所有标准教程,但仍然在为这项任务而苦苦挣扎。添加 javascript 接口(interface)
addJavascriptInterface让我们将 java 对象注入(inject)到 Android web View 的 javascript 中。关于每个 javascript 类型可以在该
我正在使用 jQuery Mobile 和 PhoneGap 开发 Android 应用程序。这是我的 Activity : public class xxx extends DroidGap {
谷歌的 security guidelines对于 Android 应用程序开发人员具有以下内容: WebViews do not use addJavaScriptInterface() with
您可能知道,Android 的 WebView 有一个名为 addJavascriptInterface() 的方法,它可以将 Android JAVA 对象导入 Javascript 上下文。 问题
我可以从我的 phonegap java 脚本函数和 android 2.2 中使用 java 函数但相同的代码未在 API 17 上运行。我应该怎么做才能从 API 17 中的 java 脚本调用
我正在使用 MonoDroid,并希望可以从我的 WebView 调用 C# 代码。 我正在这样做(C#): protected override void OnCreate(Bundle bundl
我可以通过 WebView.addJavascriptInterface 接口(interface)接收一个 Object 吗?像这样的东西: public class JavaScriptInter
单击 HTML 按钮时,我无法在 Cordova webview 中打开链接。它显示“CordovaWebView 类型未定义方法 addJavascriptInterface(WebViewActi
我是一名优秀的程序员,十分优秀!