浅谈Android中微信的文本,音频,视频,链接,表情,图片分享接口开发详解

本文详细讲解如何在Android中实现微信分享功能,包括文本、音频、视频、链接、表情和图片的分享。首先需要在微信开放平台注册并获取appid,然后在Android工程中集成微信SDK。接着,通过WXAPIFactory创建IWXAPI对象并注册appid。文章逐步展示了如何创建和封装不同类型的分享内容,如WXTextObject、WXMusicObject等,并通过WXMediaMessage和SendMessageToWX.Req发送分享请求。同时,文中还针对常见的微信分享闪退和失败问题提供了解决方案,如检查签名和缩略图尺寸等。
摘要由CSDN通过智能技术生成

    这次主要讲解带你一步一步开发微信的分享文本,音频,视频,链接,表情,图片功能,以及给出一些关于网上朋友们提出的微信分享闪退,微信分享失败等问题的解决办法。

第一实现调用打开微信客户端:

首先到微信开放平台(https://open.weixin.qq.com )上注册一个账号,然后在上面创建一个Android应用,并填写好配置信息
在填写配置信息的时候应注意:
1 在填写应用签名时,需要到微信平台上去下载一个签名包(apk)(https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419319167&token=f1f7a64c1e41365231e943cb0b11ffcc83700f4b&lang=zh_CN ),安装在手机上,然后在里面输入包名(例如:com.XXX.weichat,
注意此时的包名一定要和自己Android项目包名一样)
然后就会生成一个字符串,这就是应用签名,然后提交,等待审核
2 如果审核过了的话那就我们应该可以获得appid,APPKEY
3 接下来我们就可以开发我们的Android程序
新建一个Android工程,然后我们工程目录下libs导入一个libammsdk.jar并且添加到path中去
4 代码实现:
 首先,定义一个字符串用于接收注册后获得的appid,然后再去定义一个IWXAPI 类型的API对象
 然后去创建这个对象,并把appid作为参数传入,再用定义好的API对象去注册微信,并传入参数appid
 注册完后。可以通过API对象去调用openWXApp()打开微信客户端
public static String App_Id="wx6c7d2f78e58ef49a";//这是APP_ID
 private Button btn;
 private IWXAPI api;//定义一个IWXAPI类型的API变量
 private CheckBox mShareFriends;
 private Button sendText;
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
  btn=(Button) findViewById(R.id.button1);
  sendText=(Button) findViewById(R.id.button2);
  mShareFriends=(CheckBox) findViewById(R.id.checkBox1);
  api=WXAPIFactory.createWXAPI(this, App_Id);//创建一个API
  api.registerApp(App_Id);//将App_id注册到微信中
  btn.setOnClickListener(this);
  sendText.setOnClickListener(this);
 }
 private String buliderTransaction(final String type){
  return (type==null)?String.valueOf(System.currentTimeMillis()):type+System.currentTimeMillis();
 }
 @Override
 public void onClick(View v) {
   switch (v.getId()) {
 case R.id.button1://打开微信客户端
  boolean flag=api.openWXApp();//通过api对象调用打开微信客户端,如果能打开就返回一个true,否则返回false;
  if (flag) {
   Toast.makeText(this, "微信打开成功", Toast.LENGTH_LONG).show();//注意:Toast控件对象不能再内部类事件监听方法使用,要把this改为MainActivity.this即可
  }else{
   Toast.makeText(this, "微信打开失败", Toast.LENGTH_LONG).show();
  }
 运行结果:

第二实现分享文本:

case R.id.button2://分享文本
 
     //动态的创建一个EditText控件,用来分享文本内容
  final EditText editText=new EditText(this);
  //动态的创建一个线性布局,并且同时设置布局的高度和宽度
  editText.setLayoutParams(new LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT) );
  editText.setText("默认的分享文本");
  //用一个Dialog alert实现弹出一个EditText
  final AlertDialog.Builder builder=new AlertDialog.Builder(this);//动态创建一个UI控件用final修饰
  //设置弹出的Dialog的图标
  builder.setIcon(android.R.drawable.ic_dialog_info);
  builder.setTitle("分享文本");//设置标题
  //将EditText控件与对话框绑定
  builder.setView(editText);
  builder.setMessage("请输入分享的内容...");
  //在对话框再创建两个按钮一个确认发送,一个是去取消发送按钮
  builder.setPositiveButton("分享", new DialogInterface.OnClickListener() {
   
   @Override
   public void onClick(DialogInterface dialog, int which) {
   //首先获得EditText中的文本
   String text=editText.getText().toString();
    if (text==null||text.length()==0) {//如果文本为空直接结束方法
     return ;
    }
    //第一步:创建一个用于封装接收等待分享的文本的WXTextObject对象
    WXTextObject textObject=new WXTextObject();
    
    textObject.text=text;
    
    //第二步:创建WXMediaMessage对象,用于Android客户端向微信传输文本内容
    WXMediaMessage msg=new WXMediaMessage();
    msg.mediaObject=textObject;
    msg.description=text;//设置描述
    
    //第三步:创

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

熊喵先生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值