简体   繁体   中英

Android - How to use the PhoneGap Share plugin

I am trying to use the PhoneGap Share plugin which is supposed to bring up the native Android "Share" window which allows the user to pick which application to share to.

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

I have a hyperlink which calls the following code (provided on github).

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

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

When trying to debug the app on my phone, I get the following error:

Cannot call method 'show' of undefined at file:///android_asset/www/index.html

What do I need to do to get this to work?

I have faced the same problem today. I made it work using the following code instead of the window.plugins thing:

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

);

This is what you can do...

  • Add to plugins.xml :

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

  • From index.html , call

     <script type="text/javascript" charset="utf-8" src="share.js" ></script> 
  • Add Share.java to \\src\\com.schaul.plugins.share
    that is: src\\com\\schaul\\plugins\\share\\Share.java

  • In index.html , call the following code after the phonegap.1.2.0.js and share.js files are loaded:

Call the code that Petroy mentioned...

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

);

Let us know it works...

The error tells you that the object window.plugins does not have a "share property".

Check that you followed the installation steps of the share plugin, and that you added the loading of the share.js file in your index.html, something the installation steps omits to tell you.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM