Android WebView.addJavascriptInterface()有什么限制吗?

时间:2011-10-24 22:51:40

标签: android webview

是通过

传递给javascript的界面
WebView.addJavascriptInterface()

以某种方式受到限制?

我的意思是,如果我做了

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可以使用应用程序清单中指定的任何应用程序权限,只要传递的对象允许它?

任何帮助表示赞赏,

thanx Matej S。

1 个答案:

答案 0 :(得分:2)

这应该可行。通常,最好创建一个自定义对象,以准确公开您希望WebView可以访问的操作。例如,我已经构建了一个暴露手机振动功能(需要许可)的功能。还要注意您希望能够从JavaScript调用的方法的签名中有哪些对象。你可能想要坚持原语和数组,并小心使用布尔值。