安卓分享到QQ好友 QQ空间 微信好友 微信朋友圈 新浪微博分享

安卓分享到QQ好友功能


核心思想:

使用QQ互联API:

http://wiki.connect.qq.com/com-tencent-tauth-tencent-sharetoqq


com.tencent.tauth.Tencent.shareToQQ


DEMO下载地址:http://pan.baidu.com/s/1jGqvHT8


分享QQ空间功能类似


注意事项: Tencent tencent =  Tencent.createInstance(appId, activity);

这里的appId应该是指开放平台创建的应用ID

参考:http://wiki.open.qq.com/wiki/website/%E7%BD%91%E7%AB%99%E6%8E%A5%E5%85%A5%E6%B5%81%E7%A8%8B

安卓分享到QQ好友 QQ空间 微信好友 微信朋友圈 新浪微博分享_第1张图片


微信好友分享DEMOhttp://pan.baidu.com/s/1kT9W3mJ

private IWXAPI api;
    private Bundle bundle;
    private Button button;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // acquire wxapi
        api = WXAPIFactory.createWXAPI(this, "wqwqwefb4b0b");
        api.registerApp("wx7709dd169efb4b0b");
        bundle = getIntent().getExtras();

        button = (Button)findViewById(R.id.shareF);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Bitmap b = BitmapFactory.decodeResource(getResources(), R.drawable.aa);
                String text = "share our application";
                WXWebpageObject wpo = new WXWebpageObject();
                wpo.webpageUrl="http://baidu.com";

                WXImageObject imageObject = new WXImageObject();


                WXMediaMessage msg = new WXMediaMessage(wpo);
                msg.mediaObject = wpo;
                msg.description = text;
                msg.title="我的应用";
                msg.thumbData=Bitmap2Bytes(b);

                SendMessageToWX.Req req = new SendMessageToWX.Req();
                req.transaction = String.valueOf(System.currentTimeMillis());

             //  req.scene = SendMessageToWX.Req.WXSceneSession;//微信会话
                req.scene = SendMessageToWX.Req.WXSceneTimeline;//微信朋友圈
                req.message = msg;
                api.sendReq(req);
            }
        });
    }


微信分享注意(来源官方https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&lang=zh_CN&token=20effedd48c4043101f03fc79363fb1475280da8)

如果需要混淆代码,为了保证sdk的正常使用,需要在proguard.cfg加上下面两行配置:

-keep class com.tencent.mm.sdk.** {

   *;

}

实际上我在Andriod Studio中是写在proguard-rules.pro


新浪微博分享

异常:android应用运行时错误:Couldn't load weibosdkcore: findLibrary returned null

我的解决方案:

在 app 的build.gradle 中 的android{} 中加入加入sourceSets的代码如下:

android {
//.....
sourceSets {
main {
jniLibs.srcDirs = ['libs']
}
}
}

个人感觉就是要告诉gradle 在哪里找到 *.so 的文件。

把官方DEMO中的SO文件拷贝到libs文件夹中

http://open.weibo.com/  新浪开放平台

研究手段:主要分析weibo_android_sdk-master.zip 下载后里面有例子和文档


你可能感兴趣的:(安卓分享到QQ好友 QQ空间 微信好友 微信朋友圈 新浪微博分享)