使用PhoneGap 2.4的WebIntent错误。引用错误:WebIntent没有定义?

时间:2013-02-28 22:24:23

标签: android cordova webintents

我正在尝试在我的phonegap应用程序中打开pdf和ppt文件。我正在使用phonegap 2.4和最新版本的WebIntent插件。我按照告诉的那样做了 Webintent

但我仍然收到此错误:

参考错误:未定义WebIntent

这是我的html主题部分的一部分:

    <script type="text/javascript" src="js/cordova-2.4.0.js"></script>
    <script type="text/javascript" src="js/index.js"></script>
    <script type="text/javascript" src="js/jquery.js"></script>
    <script type="text/javascript" src="js/jquery.mobile-1.2.0.min.js"></script> 
    <script type="text/javascript" src="js/webintent.js"></script>

这是我的config.xml文件的一部分

 <cordova>
     ...
   <plugins>
     ...
    <plugin name="Globalization" value="org.apache.cordova.Globalization"/>
    <plugin name="InAppBrowser" value="org.apache.cordova.InAppBrowser"/>
    <plugin name="WebIntent" value="com.borismus.webintent.WebIntent"/>
   </plugins>
 </cordova>

这里是我使用插件的代码的js部分

    function openFile(filePath){
    window.plugins.webintent.StartActivity({
    action: WebIntent.ACTION_VIEW,
    url: filePath},
    function(){},
    function(){alert("failed to open file")} 
    );
    }

其中filePath类似于“file:///mnt/sdcard/file.pdf”

请有人告诉我,我做错了什么。 P.S。:我对手机和日食都很陌生。

2 个答案:

答案 0 :(得分:0)

问题在于:action: WebIntent.ACTION_VIEW,

WebIntent曾经是一个全球性的(yuck),但现在被包装在一个闭包中。

由于您使用的是window.plugins.webintent,因此您需要将其更改为:

function openFile(filePath){
  window.plugins.webintent.StartActivity({
    action: window.plugins.webintent.ACTION_VIEW,
    url: filePath},
    function(){},
    function(){alert("failed to open file")} 
  );
}

我修改了插件的文档示例。

答案 1 :(得分:0)

即使有修改操作的注释:带有window.plugins.webintent.ACTION_VIEW的WebIntent.ACTION_VIEW对我来说也失败了。

我所做的是直接放入WebIntent.ACTION_VIEW的值

在webintent.js中是:

WebIntent.ACTION_VIEW= "android.intent.action.VIEW";

我的代码示例:

window.plugins.webintent.startActivity({
        action: 'android.intent.action.VIEW',
        type: "application/pdf",
        url: "file:///storage/sdcard0/Mapfre/Documentos/readme.pdf"},
          function() {WL.Logger.debug(">> OK");},
          function() {WL.Logger.debug(">> ERROR");}
          );