溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Android自帶API實現(xiàn)分享功能

發(fā)布時間:2020-09-04 02:21:59 來源:腳本之家 閱讀:149 作者:夏沫凡塵 欄目:移動開發(fā)

前言

在做項目的過程中需要實現(xiàn)文字和圖片的分享,有兩種方式:
1. 使用android sdk中自帶的Intent.ACTION_SEND實現(xiàn)分享。
2. 使用shareSDK、友盟等第三方的服務(wù)。
鑒于使用的方便,此次只介紹使用Android sdk中自帶的方式來實現(xiàn)分享的功能。

分享文字

/** 
   * 分享文字內(nèi)容 
   * 
   * @param dlgTitle 
   *      分享對話框標題 
   * @param subject 
   *      主題 
   * @param content 
   *      分享內(nèi)容(文字) 
   */ 
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); 

    // 設(shè)置彈出框標題 
    if (dlgTitle != null && !"".equals(dlgTitle)) { // 自定義標題 
      startActivity(Intent.createChooser(intent, dlgTitle)); 
    } else { // 系統(tǒng)默認標題 
      startActivity(intent); 
    } 
  } 

分享單張圖片

/** 
   * 分享圖片和文字內(nèi)容 
   * 
   * @param dlgTitle 
   *      分享對話框標題 
   * @param subject 
   *      主題 
   * @param content 
   *      分享內(nèi)容(文字) 
   * @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); 
    } 

    // 設(shè)置彈出框標題 
    if (dlgTitle != null && !"".equals(dlgTitle)) { // 自定義標題 
      startActivity(Intent.createChooser(intent, dlgTitle)); 
    } else { // 系統(tǒng)默認標題 
      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, "分享到")); 
  } 

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI