前言
在做項目的過程中需要實現文字和圖片的分享,有兩種方式:
1. 使用android sdk中自帶的Intent.ACTION_SEND實現分享。
2. 使用shareSDK、友盟等第三方的服務。
鑒于使用的方便,此次只介紹使用Android sdk中自帶的方式來實現分享的功能。
分享文字
/** * 分享文字內容 * * @param dlgTitle * 分享對話框標題 * @param subject * 主題 * @param content * 分享內容(文字) */ private void shareText(String dlgTitle, String subject, String content) { if (content == null || "".equals(content)) { return; } Intent intent = new Intent(Intent.ACTION_SEND); intent.setType("text/plain"); if (subject != null && !"".equals(subject)) { intent.putExtra(Intent.EXTRA_SUBJECT, subject); } intent.putExtra(Intent.EXTRA_TEXT, content); // 設置彈出框標題 if (dlgTitle != null && !"".equals(dlgTitle)) { // 自定義標題 startActivity(Intent.createChooser(intent, dlgTitle)); } else { // 系統默認標題 startActivity(intent); } }
分享單張圖片
/** * 分享圖片和文字內容 * * @param dlgTitle * 分享對話框標題 * @param subject * 主題 * @param content * 分享內容(文字) * @param uri * 圖片資源URI */ private void shareImg(String dlgTitle, String subject, String content, Uri uri) { if (uri == null) { return; } Intent intent = new Intent(Intent.ACTION_SEND); intent.setType("image/*"); intent.putExtra(Intent.EXTRA_STREAM, uri); if (subject != null && !"".equals(subject)) { intent.putExtra(Intent.EXTRA_SUBJECT, subject); } if (content != null && !"".equals(content)) { intent.putExtra(Intent.EXTRA_TEXT, content); } // 設置彈出框標題 if (dlgTitle != null && !"".equals(dlgTitle)) { // 自定義標題 startActivity(Intent.createChooser(intent, dlgTitle)); } else { // 系統默認標題 startActivity(intent); } }
分享多張圖片
//分享多張圖片 public void shareMultipleImage(View view) { ArrayList<Uri> uriList = new ArrayList<>(); String path = Environment.getExternalStorageDirectory() + File.separator; uriList.add(Uri.fromFile(new File(path+"australia_1.jpg"))); uriList.add(Uri.fromFile(new File(path+"australia_2.jpg"))); uriList.add(Uri.fromFile(new File(path+"australia_3.jpg"))); Intent shareIntent = new Intent(); shareIntent.setAction(Intent.ACTION_SEND_MULTIPLE); shareIntent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, uriList); shareIntent.setType("image/*"); startActivity(Intent.createChooser(shareIntent, "分享到")); }
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。
新聞熱點
疑難解答