安卓分享到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
微信好友分享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 下载后里面有例子和文档