2010-12-31 7 views
14

Czy istnieje przykład, jak zaprogramować funkcjonalność za pomocą Phonegap Framework, aby udostępnić adres URL wiadomości e-mail, Twittera i Facebooka? Na przykład w systemie Android ta funkcja jest w 90% aplikacji. W Iphone jest w każdej aplikacji. W aplikacji Techcrunch dla iPhone'a możesz to zobaczyć, gdy otworzysz artykuł. Czy można to również zrobić za pomocą Phonegapa?Phonegap - Udostępnianie funkcji wiadomości e-mail, Twitter i Facebook

+0

Czy kiedykolwiek to zorientować się, patrząc na proste rozwiązania, które pracuje dla ios/phonegap (cordova 1.7) – nate8684

Odpowiedz

7

Możesz to zrobić w Androidzie za pomocą następującego kodu wtyczki. Nie opublikowałem tego jeszcze nigdzie indziej, ale w końcu mam nadzieję dodać go jako wtyczkę do repozytorium wtyczek phonegap dla Androida.

javascript:

var Share = function() {}; 

Share.prototype.show = function(content) { 
    return PhoneGap.exec(
    function(args) { 
     console.log("phonegap share plugin - success!") 
    }, function(args) { 
     console.log("phonegap share plugin - failed") 
    }, 'Share', '', content); 
}; 

PhoneGap.addConstructor(function() { 
    PhoneGap.addPlugin('share', new Share()); 
    PluginManager.addService("Share","com.COMPANYNAME(CHANGEME).android.plugins.Share"); 
}); 

Java w Androidzie:

package com.COMPANYNAME(CHANGEME).android.plugins; 

import org.json.JSONArray; 
import org.json.JSONException; 
import android.content.Intent; 

import com.phonegap.api.Plugin; 
import com.phonegap.api.PluginResult; 

public class Share extends Plugin { 
    private String callback; 

    @Override 
    public PluginResult execute(String action, JSONArray args, String callbackId) { 
     PluginResult mPlugin = null; 
     try { 
      mPlugin = activateSharing(args.getString(0), args.getString(1)); 
     } catch (JSONException e) { 
      Log.e("JSON Exception", e.toString()); 
     } 
     mPlugin.setKeepCallback(true); 
     this.callback = callbackId; 
     return mPlugin; 
    } 

    private PluginResult activateSharing(String title, String body) { 
     final Intent shareIntent = new Intent(
     android.content.Intent.ACTION_SEND); 
     shareIntent.setType("text/plain"); 
     shareIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, title); 
     shareIntent.putExtra(android.content.Intent.EXTRA_TEXT, body); 

     shareIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
     ctx.startActivity(Intent.createChooser(shareIntent, "Share")); 
     return new PluginResult(PluginResult.Status.OK); 
    } 
} 
4

Prawie trzy lata później: Oto plugin, który umożliwia dzielenie na Androida i iOS z tego samego API. https://github.com/EddyVerbruggen/SocialSharing-PhoneGap-Plugin

Jest również dostępny w PhoneGap Build!

Przykład

window.plugins.socialsharing.share('Google is awesome, WOOT!', 'Google facts', 'https://www.google.com/images/srpr/logo11w.png', 'http://www.google.com'); 
Powiązane problemy