最权威的学习资料还是要去看官网,以及官网提供的Demo,基本上你是可以直接拿来使用的,这是官网网站:http://open.weixin.qq.com/。
在微信分享中主要碰到了如下问题:第一次可以分享,以后就无法调用出分享对话框。这不是程序问题,而是需要提交审核,只有审核通过,才可以调出分享对话框。不相信?那你可以先将微信退出,再试着点击分享,这时就会弹出登录对话款,登完之后也没有分享对话框,完全没你啥事了。
另外android版微信分享开发时,应用签名(推荐使用官网提供的签名生成工具)是由你的打包所使用的数字证书来决定的。不相信?那先卸载此程序,再将你的应用包名重新改下,不要改变数字证书,运行。然后运用此签名生成工具获取应用签名,完全一样。因此,正式的应用发布还是要自己生成一个数字证书比较好。如果签名不是很理解,请看我之前的一篇文章:http://blog.csdn.net/qianfu111/article/details/9113887
下面是简单微信分享文字的程序源码,当然你另外需要导入微信的jar包:
- package com.example.share;
- import android.app.Activity;
- import android.os.Bundle;
- import android.view.Menu;
- import android.view.View;
- import android.widget.Button;
- import com.haifei.share.R;
- import com.tencent.mm.sdk.openapi.IWXAPI;
- import com.tencent.mm.sdk.openapi.SendMessageToWX;
- import com.tencent.mm.sdk.openapi.WXAPIFactory;
- import com.tencent.mm.sdk.openapi.WXMediaMessage;
- import com.tencent.mm.sdk.openapi.WXTextObject;
- public class MainActivity extends Activity {
- private final String APP_ID = "wxbd8d9e9f2e348364";
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- Button shareBtn = (Button)findViewById(R.id.button1);
- final IWXAPI api = WXAPIFactory.createWXAPI(getApplicationContext(),APP_ID,true);
- api.registerApp(APP_ID);
- shareBtn.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- // TODO Auto-generated method stub
- //分享到朋友圈
- // 初始化一个WXTextObject对象
- String text = "share our application";
- WXTextObject textObj = new WXTextObject();
- textObj.text = text;
- WXMediaMessage msg = new WXMediaMessage(textObj);
- msg.mediaObject = textObj;
- msg.description = text;
- SendMessageToWX.Req req = new SendMessageToWX.Req();
- req.transaction = String.valueOf(System.currentTimeMillis());
- req.message = msg;
- api.sendReq(req);
- }
- });
- }
- @Override
- public boolean onCreateOptionsMenu(Menu menu) {
- getMenuInflater().inflate(R.menu.activity_main, menu);
- return true;
- }
- }