Phonegap Android InAppBrowser无法正常工作

时间:2013-07-25 04:59:00

标签: android cordova inappbrowser

我正在开发一个带有Phonegap Cordova-3.0.0的Android应用程序,当我调用InAppBrowser时出现 MotionEvent mTouchMode = 4 错误。并且InAppBrowser功能不起作用。那么我该如何解决这个问题呢?我需要在AndroidManifest.xml或config.xml上做一些设置吗? 我在AndroidManifest.xml上得到了这个

<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

我在config.xml上得到了这个

<plugins> <plugin name="InAppBrowser" value="org.apache.cordova.InAppBrowser" /> </plugins>

5 个答案:

答案 0 :(得分:5)

在Phonegap Cordova-3.0.0版本中,为了让应用与各种设备级功能密切沟通,我们需要添加可提供对核心Cordova API的访问的插件。

cordova插件添加命令要求您指定插件代码的存储库。 例如,应用内浏览器:

$ cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-inappbrowser.git

我们需要在命令行中运行它。不需要担心AndroidManifest.xml或config.xml文件。运行$ cordova build后,它会自动为您编写。

您可以在doc.phonegap

中更多地了解它

答案 1 :(得分:1)

在config.xml中添加以下代码,这适用于mi。

<plugin name="InAppBrowser" value="org.apache.cordova.InAppBrowser" />
<access origin="*" browserOnly="true"/>

答案 2 :(得分:0)

您必须在config.xml中提及以下代码行

<plugin name="InAppBrowser" value="CDVInAppBrowser" /> 

答案 3 :(得分:0)

尝试将此添加到您的清单中,它可以帮助我使用f * king插件工作

<uses-permission android:name="android.permission.READ_PHONE_STATE" />

尽量不要在config.xml中使用'plugin'标记,但是:

<feature name="InAppBrowser">
  <param name="android-package" value="org.apache.cordova.InAppBrowser"/>
</feature>

它将有助于将来更新phonegap

答案 4 :(得分:0)

在应用内打开浏览器中的链接,无需打开外部浏览器

HTML

<input type="button" id="button1" value = "click here"
       onclick="window.open('https://example.com','_blank','location=yes','closebuttoncaption = Return');">

现在进入项目文件夹并打开终端或命令提示符(Windows)并键入以下命令:

cordova plugin add cordova-plugin-inappbrowser --save

它将配置所需的文件,并将插件添加到config.xml文件中。

打开您尝试打开链接的HTML页面,然后输入此JavaScript。

<script src="cordova.js"></script>
<script type = "text/javascript" charset = "utf-8">
function onLoad(){
    document.addEventlistner("deviceready", OnDeviceReady, false);
}

function onDeviceReady(){

}
</script>