2013-03-18 31 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,我們需要將它轉換爲字符串對象,然後將它傳遞給該函數。

任何人都可以詳細闡述它是值得歡迎的。

相關問題