我正在开发一个 PhoneGap 项目,并且我正在尝试实现一个简单的机制来在将 URL 传递给应用程序时调用该handleOpenURL
方法(根据此示例:http://goo.gl/FKmFL )。可悲的是,我遇到了一些绊脚石。问题有两个方面:
首先,我的调用sendJavascript
似乎根本不起作用——没有调用 JavaScript,没有错误,什么都没有。我读过这个功能在活动开始时不起作用,但似乎没有其他人遇到问题......
其次,当我打电话时loadUrl
(参见下面的示例),我收到如下错误消息:
ReferenceError: Can't find variable: handleOpenURL at undefined:1
下面是我的Java代码:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.loadUrl("file:///android_asset/www/index.html");
final Intent intent = getIntent();
Log.d("myApp","Start");
Log.d("myApp","Data string: " + intent.getDataString());
if(intent.getDataString() != "" && intent.getDataString() != null) {
Log.d("myApp","Calling handleOpenURL");
String url = intent.getDataString();
// this.sendJavascript("handleOpenURL(\"" + url +"\");");
super.loadUrl("javascript:handleOpenURL('"+url+"')");
}
}
下面是我的 JavaScript 代码:
<script>
function handleOpenURL(url) {
$("body").append("<h2>Url:</h2>");
$("body").append("<p>"+url+"</p>");
}
</script>
您能提供的任何帮助将不胜感激!