2011-10-24 79 views
0

的接口,通過Android WebView.addJavascriptInterface()有什麼限制嗎?

WebView.addJavascriptInterface() 

以某種方式限制傳遞到JavaScript的?

我的意思是,如果我這樣做

SmsManager sms = SmsManager.getDefault(); 
myWebView.addJavascriptInterface(sms,"SMSManager"); 

然後在JavaScript

<input type="button" value="Send SMS" onClick="sendSMS()" /> 

<script type="text/javascript"> 
    function sendSMS() { 
     sms.sendTextMessage(phoneNumber, null, message, sentPI, deliveredPI); 
    } 
</script> 

將JavaScript的觸發發送短信? 這是否意味着只要通過的對象允許,javascript可以使用應用程序清單中指定的任何應用程序特權?

讚賞任何幫助,

感謝名單馬捷S.

+0

好問題,我期待看到什麼答案是哈哈。 – gkiar

+0

對不起,但如果你認爲這是一個愚蠢的問題,我將不勝感激,如果你告訴我爲什麼......:/ – hendrix

+0

我不是諷刺,我其實是真誠的!我也有同樣的問題。 – gkiar

回答

2

這應該工作正常。通常最好創建一個自定義對象,以準確地公開您希望WebView訪問哪些操作。例如,我已經構建了一個暴露手機振動功能(需要許可)的手機。還要注意簽名中的對象是什麼類型,以便能夠從JavaScript調用的方法。你可能想要堅持原語和數組,並且要小心布爾值。