首页 > 代码库 > 第三方应用分享到微信朋友圈功能

第三方应用分享到微信朋友圈功能

分享自http://blog.csdn.net/qianfu111/article/details/9115303

最权威的学习资料还是要去看官网,以及官网提供的Demo,基本上你是可以直接拿来使用的,这是官网网站:http://open.weixin.qq.com/。

         在微信分享中主要碰到了如下问题:第一次可以分享,以后就无法调用出分享对话框。这不是程序问题,而是需要提交审核,只有审核通过,才可以调出分享对话框。不相信?那你可以先将微信退出,再试着点击分享,这时就会弹出登录对话款,登完之后也没有分享对话框,完全没你啥事了。

        另外android版微信分享开发时,应用签名(推荐使用官网提供的签名生成工具)是由你的打包所使用的数字证书来决定的。不相信?那先卸载此程序,再将你的应用包名重新改下,不要改变数字证书,运行。然后运用此签名生成工具获取应用签名,完全一样。因此,正式的应用发布还是要自己生成一个数字证书比较好。如果签名不是很理解,请看我之前的一篇文章:http://blog.csdn.net/qianfu111/article/details/9113887

       下面是简单微信分享文字的程序源码,当然你另外需要导入微信的jar包:

 

[java] view plaincopy
 
  1. package com.example.share;  
  2.   
  3. import android.app.Activity;  
  4. import android.os.Bundle;  
  5. import android.view.Menu;  
  6. import android.view.View;  
  7. import android.widget.Button;  
  8.   
  9. import com.haifei.share.R;  
  10. import com.tencent.mm.sdk.openapi.IWXAPI;  
  11. import com.tencent.mm.sdk.openapi.SendMessageToWX;  
  12. import com.tencent.mm.sdk.openapi.WXAPIFactory;  
  13. import com.tencent.mm.sdk.openapi.WXMediaMessage;  
  14. import com.tencent.mm.sdk.openapi.WXTextObject;  
  15.   
  16. public class MainActivity extends Activity {  
  17.   
  18.     private final String APP_ID = "wxbd8d9e9f2e348364";  
  19.     @Override  
  20.     public void onCreate(Bundle savedInstanceState) {  
  21.         super.onCreate(savedInstanceState);  
  22.         setContentView(R.layout.activity_main);  
  23.           
  24.         Button shareBtn = (Button)findViewById(R.id.button1);  
  25.         final IWXAPI api = WXAPIFactory.createWXAPI(getApplicationContext(),APP_ID,true);  
  26.         api.registerApp(APP_ID);  
  27.         shareBtn.setOnClickListener(new View.OnClickListener() {  
  28.               
  29.             @Override  
  30.             public void onClick(View v) {  
  31.                 // TODO Auto-generated method stub  
  32.                 //分享到朋友圈  
  33.                   
  34.                 // 初始化一个WXTextObject对象  
  35.                 String text = "share our application";  
  36.                 WXTextObject textObj = new WXTextObject();  
  37.                 textObj.text = text;  
  38.   
  39.                 WXMediaMessage msg = new WXMediaMessage(textObj);  
  40.                 msg.mediaObject = textObj;  
  41.                 msg.description = text;  
  42.                   
  43.                 SendMessageToWX.Req req = new SendMessageToWX.Req();  
  44.                 req.transaction = String.valueOf(System.currentTimeMillis());  
  45.                 req.message = msg;  
  46.                   
  47.                 api.sendReq(req);  
  48.             }  
  49.         });  
  50.     }  
  51.   
  52.     @Override  
  53.     public boolean onCreateOptionsMenu(Menu menu) {  
  54.         getMenuInflater().inflate(R.menu.activity_main, menu);  
  55.         return true;  
  56.     }  
  57. }  

深入研究微信分享看这里:http://blog.csdn.net/dengbodb/article/details/7840113