一、Android第三方应用接入微信开放平台的注意事项:

1. 到微信开放平台官网申请正式的AppID(需通过审核),要填写包名、app签名的md5值。至于如何获取app签名信息,官方提供签名包apk

http://open.weixin.qq.com/download/sdk/gen_signature.apk

2. 如果只是测试或debug,可以用临时AppID(到官网申请但不需要通过审核)。

二、如何运行SDK Demo?(“分享到好友”之后没反应)自己的App呢?

1. Eclipse打开Window->Preferences,在弹出的对话框中,选择Android目录下的Build,指定Custom debugkeystore选项的路径为sdk demo工程目录中的debug.keystore文件。

2. 在自己的App里,记得把debugkeystore改回来(改成当前用户目录)。并且,debug和正式App的AppID记得切换。

三、如何App中实现微信分享?

1. 申请AppID。

2. 下载微信sdk库:libammsdk.jar。
3. 将jar放入app\libs\。

4. 代码中:createWXAPI和registerApp来注册到微信,isWXAppInstalled和isWXAppSupportAPI来判断微信客户端是否安装及安装的版本是否支持微信开放平台,isTimeLineSupportedVersion用于判断微信是否支持朋友圈。

四、如何让我们的App接收到微信的反馈?

1. 在你的包名相应目录下新建一个wxapi目录,并在该wxapi目录下新增一个WXEntryActivity类,该类继承自Activity,并在manifest文件里面加上exported属性,设置为true。

2. 实现IWXAPIEventHandler接口,微信发送的请求将回调到onReq方法,发送到微信请求的响应结果将回调到onResp方法。

3. 在WXEntryActivity中将接收到的intent及实现了IWXAPIEventHandler接口的对象传递给IWXAPI接口的handleIntent方法。当微信发送请求到你的应用,将通过IWXAPIEventHandler接口的onReq方法进行回调,类似的,应用请求微信的响应结果将通过onResp回调。

五、其他注意事项:

1. 是不是必须在WXEntryActivity里发送sendReq及WXEntryActivity必须被调用?

WXEntryActivity可以不被调用,在sendReq后微信有响应就会到WXEntryActivity的onReq,所以一般onReq里Toast发送结果后需要finish(),这样直接返回到发送sendReq的UI(用户感觉不到有WXEntryActivity的存在)。

2. 如何发送到好友与朋友圈?

a. 发送到好友:SendMessageToWX.Req的scene成员,填WXSceneSession

b. 发送到朋友圈:SendMessageToWX.Req的scene成员,填WXSceneTimeline(微信4.2以上支持,如果需要检查微信版本支持API的情况, 可调用IWXAPI的getWXAppSupportAPI方法,0x21020001及以上支持发送朋友圈),那么消息会发送至朋友圈。

c. scene默认值为WXSceneSession。

3. 如何发送图片同时显示title及description?

SDK分享信息发送WXMediaMessage中包含WXImageObject,发送后没有显示title和description,这是由于微信客户端对话框中对图片只会呈现其缩略图,标题和描述文字会自动忽略。

替代办法:

a. 对于分享到好友:以WXFileObject代替WXImageObject,在发送之前截图保存到sdcard,然后发送时设置setFilePath,这样在微信接收方点击缩略图后会提示是否接收文件并显示。

b. 对于分享到朋友圈:由于朋友圈不支持文件传输,只能发送WXImageObject,title及description无法显示。

参考:

http://open.weixin.qq.com/document/?lang=zh_CN

http://blog.csdn.net/jiahui524/article/details/8211451

Android App接入微信开放平台注意事项的更多相关文章

  1. 友盟分享——Android App接入微信开放平台注意事项

    一.Android第三方应用接入微信开放平台的注意事项: 1. 到微信开放平台官网申请正式的AppID(需通过审核),要填写包名.app签名的md5值.至于如何获取app签名信息,官方提供签名包apk ...

  2. ios应用接入微信开放平台

    前几天试了一下服务端接入微信公众平台,昨天又看了一下APP接入开放平台 开放平台和公众平台的差别 公众平台针对的是公众账号,除了提供管理后台之外.也开放了若干接口,让微信server和开发人员自己的应 ...

  3. Android app 第三方微信支付接入详解

    微信支付做了好几遍了,都没有出现什么棘手的问题,下面一一为大家分享一下,欢迎吐槽. 还是老样子,接入微信的支付要第一步添加微信支付官方的包libammsdk.jar 首先就处理略坑的一个问题,app应 ...

  4. Android—基于微信开放平台v3SDK,开发微信支付填坑。

    接触微信支付之前听说过这是一个坑,,,心里已经有了准备...我以为我没准跳坑出不来了,没有想到我填上了,调用成功之后我感觉公司所有的同事都是漂亮的,隔着北京的大雾霾我仿佛看见了太阳~~~好了,装逼结束 ...

  5. 【已解决】Android微信开放平台,申请移动应用的 应用签名 如何获取

    在微信开放平台,申请移动应用的时候: https://open.weixin.qq.com/cgi-bin/appcreate?t=manage/createMobile&type=app&a ...

  6. Android之微信开放平台实现分享(分享好友和朋友圈)

    开发中分享操作往往经常遇到,而且还是一些比较大型一定的平台,如微信,QQ,微博等.写这篇博客主要是把微信的的分享和相关操作表达一下,分享可以包含:文字,视频,音乐,图片等分享. 分享可以有 分享给好友 ...

  7. Android微信开放平台,申请移动应用的 应用签名 如何获取

    在微信开放平台,申请移动应用的时候: https://open.weixin.qq.com/cgi-bin/appcreate?t=manage/createMobile&type=app&a ...

  8. android微信开放平台,申请移动应用的应用签名怎样获取

    在微信开放平台,申请移动应用的时候: https://open.weixin.qq.com/cgi-bin/appcreate? t=manage/createMobile&type=app& ...

  9. 微信开放平台创建android应用时怎么获取应用签名

    之前微信开放平台中申请创建应用,没有整理,过了好久,又重新百度,今天索性整理了,以供童鞋们备用. 1.微信开发平台注册申请成开发者账号,就此略过 2.在管理中心选择创建移动应用.按照严格要求填写.上传 ...

随机推荐

  1. discuzx完全自定义设计模板门户首页,栏目,专题模板方法

    第一种:门户首页模板(index.htm,保存于templatedefaultportal) <!--{subtemplate common/header}--> <style id ...

  2. maven 常用5个命令

    1. mvn help:describe 你是否因为记不清某个插件有哪些goal而痛苦过,你是否因为想不起某个goal有哪些参数而苦恼,那就试试这个命令吧,它会告诉你一切的. 参数: 1. -Dplu ...

  3. C# 模拟一个处理消息队列的线程类 Message Queue

    // 模拟一个处理消息队列的类 class MessageHandler { // 消息队列 private Queue<string> messageQue = new Queue< ...

  4. 通过Docker配置DNS服务器

    1. 概述 DockerHub中的 sameersbn/bind 镜像提供了搭建DNS服务器的功能,本文给出使用该镜像搭建DNS服务器的例子. 2. 环境 DNS服务器主机 IP:10.11.150. ...

  5. Selenium获取input输入框中值的三种方法

    第一种用jQuery的val方法: js = "return $('input').val();" driver.execute_script(js) 第二种用jQuery的att ...

  6. iOS-xib(使用XIB自定义一个UIView )

    1.新建一个xib视图

  7. iOSpush过后返回多级界面

    有导航控制器push过后pop可以反回上一个界面,然而我们需要返回多级界面有下面两种方法 调用API - (NSArray *)popToViewController:(UIViewControlle ...

  8. sparksql链接mysql

    1.在IDEA上建立一个sparksql_mysql的scala对象. 2.连接mysql的代码如下 import java.sql.{DriverManager, PreparedStatement ...

  9. MongoDB 管理工具:Robomongo

    http://www.open-open.com/lib/view/open1383029577546.html

  10. C#DataGrdviewl加入checkBox全选删除

    #region 加入checkBox /// <summary> /// 加入checkBox /// </summary> /// <param name=" ...