分享圖片+文字到微信朋友圈

比較坑,昨天剛剛寫好了用微信SDK Jar包分享的Dome,但是公司突然又要分享圖片+文字,而且還不要網頁式的分享,找了半天,發現直接用微信SDK無法做到這一點,所以就只能用Intent直接傳值調用了。


好了,直接上代碼,就是一個類:

一、代碼文件 WeiXinShareUtil

<pre name="code" class="java">import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.widget.Toast;

import java.io.File;

/**
 * Created by Administrator on 2015/6/24.
 */
public class WeiXinShareUtil {
    public static void sharePhotoToWX(Context context, String text, String photoPath) {
        if (!uninstallSoftware(context, "com.tencent.mm")) {
            Toast.makeText(context, "微信沒有安裝!", Toast.LENGTH_SHORT).show();
            return;
        }

        File file = new File(photoPath);
        if (!file.exists()) {
            String tip = "文件不存在";
            Toast.makeText(context, tip + " path = " + photoPath, Toast.LENGTH_LONG).show();
            return;
        }

        Intent intent = new Intent();
        ComponentName componentName = new ComponentName("com.tencent.mm",
                "com.tencent.mm.ui.tools.ShareToTimeLineUI");
        intent.setComponent(componentName);
        intent.setAction("android.intent.action.SEND");
        intent.setType("image/*");
        intent.putExtra("Kdescription", text);
        intent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(file));
        context.startActivity(intent);
    }

    private static boolean uninstallSoftware(Context context, String packageName) {
        PackageManager packageManager = context.getPackageManager();
        try {
            PackageInfo packageInfo = packageManager.getPackageInfo(packageName, PackageManager.COMPONENT_ENABLED_STATE_DEFAULT);
            if (packageInfo != null) {
                return true;
            }
        } catch (PackageManager.NameNotFoundException e) {
            e.printStackTrace();
        }
        return false;
    }
}



二、調用方式

		WeiXinShareUtil.sharePhotoToWX(context, "test", photoPath);

      第一個參數:上下文Context

      第二次參數:你要分享的文字text

      第三個參數:你要分享的圖片路徑photoPath


結束。如果有什麼問題歡迎來討論!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章