2011-11-29 54 views
8

我正尝试使用PhoneGap Share插件,该插件应该会显示原生Android“共享”窗口,该窗口允许用户选择要共享的应用程序。Android - 如何使用PhoneGap Share插件

https://github.com/phonegap/phonegap-plugins/tree/master/Android/Share

我有调用下面的代码(提供在github)的超链接。

window.plugins.share.show({ 
    subject: 'I like turtles', 
    text: 'http://www.mndaily.com' 
}, 

function() {}, // Success function 
function() { 
    alert('Share failed') 
} // Failure function); 

当试图调试我的手机上的应用程序,我得到以下错误:

不能调用未定义的方法“秀”的文件:///android_asset/www/index.html

我需要做些什么来实现这个目标?

回答

9

今天我面临同样的问题。我做了它的工作使用,而不是window.plugins东西下面的代码:

var share = new Share(); 
share.show({ 
    subject: 'I like turtles', 
    text: 'http://www.mndaily.com'}, 
    function() {}, // Success function 
    function() {alert('Share failed')} // Failure function 

); 
+0

感谢! –

+0

这对我也有帮助! – skybondsor

0

该错误告诉您对象window.plugins没有“共享属性”。

检查您是否遵循了share插件的installation steps,并且您在index.html中添加了share.js文件的加载,安装步骤忽略了这些内容以告诉您。

+0

我想我遵循的步骤正确。我将Share.java文件添加到/src/com.schaul.plugins.share,我已将share.js添加到我的/ assets/www中,并且我从index.html中调用了此脚本。我是否误解了“将Java代码添加到项目的构建源?”我对Eclipse和Java都很陌生,所以我不确定这意味着什么,并且无法在任何地方找到明确的答案。 –

3

这是你可以做什么......

  • 添加到plugins.xml

    <plugin name="Share" value="com.schaul.plugins.share.Share"/ > 
    
  • 保存share.js\assets\www\

  • index.html,叫

    <script type="text/javascript" charset="utf-8" src="share.js" ></script> 
    
  • 添加Share.java\src\com.schaul.plugins.share
    那就是:SRC \ COM \ schaul \插件\共享\ Share.java

  • index.html,请拨打下面的代码后的PhoneGap加载.1.2.0.js和share.js文件:

调用Petroy提到的代码...

var share = new Share(); 
share.show({ 
    subject: 'I like turtles', 
    text: 'http://www.mndaily.com'}, 
    function() {}, // Success function 
    function() {alert('Share failed')} // Failure function 

); 

让我们知道它的工作原理...

+1

利用share插件的更好的解释。但是plugins.xml已经更改为config.xml,因此将xml代码放在config.xml - >标记中。 – isa