1. 程式人生 > >分享到Instagram、WhatsApp、Line、Facebook

分享到Instagram、WhatsApp、Line、Facebook

準備工作就不說了,直接上程式碼

Instagram分享

Intent share = new Intent(Intent.ACTION_SEND);
share.setPackage("com.instagram.android");
share.setType("image/*");
File media = new File(mediaPath);
Uri uri = Uri.fromFile(media);
share.putExtra(Intent.EXTRA_STREAM, uri);
mContent.startActivity(Intent.createChooser(share, "Share to"));

Instagram只能分享圖片,而且是本地圖片,需要把圖片儲存到本地,然後在分享
圖片格式:peg,gif,png

WhatsApp分享

Intent whatsappIntent = new Intent(Intent.ACTION_SEND);
whatsappIntent.setType("text/plain");
whatsappIntent.setPackage("com.whatsapp");
whatsappIntent.putExtra(Intent.EXTRA_TEXT, shareUrl);
mContext.startActivity(whatsappIntent);

只能分享文字或者是分享連結,WhatsApp聊天內部會自動識別文字是否為連結

Line分享

ComponentName cn = new ComponentName("jp.naver.line.android", "jp.naver.line.android.activity.selectchat.SelectChatActivityLaunchActivity");
Intent shareIntent = new Intent();
shareIntent.setAction(Intent.ACTION_SEND);
shareIntent.setType("text/plain"); // 純文字
shareIntent.putExtra(Intent.EXTRA_TEXT, shareUrl);
//intent.putExtra(Intent.EXTRA_SUBJECT, "分享的標題");
//intent.putExtra(Intent.EXTRA_TEXT, "分享的內容");
shareIntent.setComponent(cn);//跳到指定APP的Activity
mContext.startActivity(Intent.createChooser(shareIntent, ""));
  • Line分享圖片
Uri uri = Uri.parse(MediaStore.Images.Media.insertImage(mActivity.getContentResolver(), bitmap, null,null));
shareIntent.putExtra(Intent.EXTRA_STREAM, uri);  
shareIntent.setType("image/*"); 

分享圖片需要設定type型別,圖片分享功能未驗證,如有什麼問題,可以留言,謝謝!

Facebook分享

facebook分享比較簡單,官方文件說明很簡單,直接對著文件來就可以。

注意:facebook在回撥時有一個bug,不管分享成功,或者分享取消,都會走分享成功的回撥。表示很無奈-.-

總結

歪果仁寫程式碼和寫文件都很隨意(開個玩笑,O(∩_∩)O哈哈~)。以一個專案15個SDK,14個國外的SDK的開發者發出此聲。