2013-03-18 30 views
0

我有一个类,说A,Java中有很少的方法和一些静态变量。在Android WebView中从Java对象接收到的值的类型是什么?

我正在Android中构建一个基于WebView的应用程序。我已经使用addJavascriptInterface方法注入了类A的实例。 (该应用实际上使用Phonegap)

我有一个Javascript函数,它使用传递给它的公钥K(n,e)执行RSA加密。

encryptString(n, e); 

'N' 个由从类A的方法返回的,称为等:

var keyn = window.A.load("publicKey"); 

这是我有一个问题。当我将'n'作为字符串传递,'e'=“10001”作为字符串传递时,加密效果很好。但是,当我传递keyn从方法中收回时,它不起作用。

encryptString("42342abcdefg2232", "10001"); // Works 

encryptString(keyn, "10001"); // Doesn't work :(

我已经在logcat中记录了关键字,并且它显示该值在变量keyn中正确接收。

然后是什么问题? PS:我已经尝试了两种不同的RSA加密库,并且都遇到了同样的问题。所以,很可能这不是我使用的加密代码中的问题。

回答

0

我找到的解决方案是我通过keyn作为new String(keyn)它的工作。在旅程中,我发现了Javascript中字符串字面量和字符串对象之间的差异。我想WebView基本上返回一个Object,我们需要将它转换为字符串对象,然后将它传递给该函数。

任何人都可以详细阐述它是值得欢迎的。

相关问题