2010-12-31 38 views
14

Có ví dụ nào về cách lập trình chức năng với Khung công tác Phonegap để chia sẻ URL tới email, twitter và Facebook không? Ví dụ trong Android chức năng này là trong 90% của các ứng dụng. Trong Iphone, nó nằm trong bất kỳ ứng dụng nào. Trong ứng dụng của techcrunch cho Iphone bạn có thể nhìn thấy nó, khi bạn mở một bài báo. Có thể tạo điều này bằng Phonegap không?Phonegap - Chia sẻ chức năng cho Email, Twitter và Facebook

+0

Bạn đã bao giờ con số này ra, tìm kiếm một giải pháp đơn giản mà làm việc cho ios/phonegap (cordova 1.7) – nate8684

Trả lời

7

Bạn có thể thực hiện việc này trong Android bằng mã sau cho plugin. Tôi chưa xuất bản cuốn sách này ở bất kỳ nơi nào khác, nhưng cuối cùng tôi hy vọng sẽ thêm nó dưới dạng plugin trong kho chứa plugin điện thoại cho Android.

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 TRÊN ANDROID:

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

Gần ba năm sau: Dưới đây là một plugin cho phép chia sẻ trên Android và iOS với cùng API. https://github.com/EddyVerbruggen/SocialSharing-PhoneGap-Plugin

Tính năng này cũng khả dụng trên PhoneGap.

Ví dụ

window.plugins.socialsharing.share('Google is awesome, WOOT!', 'Google facts', 'https://www.google.com/images/srpr/logo11w.png', 'http://www.google.com'); 
Các vấn đề liên quan