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