android分享功能微信,Android应用

[TOC]

Android接入指南接入说明:

任何需要调用企业微信API的应用,都需要先在企业微信管理后台创建一个应用,设置完成后,即可使用对应的功能。

创建应用管理员登录企业微信管理后台,选择企业应用

选择已有应用或添加应用,进入应用详情页面。

选择“企业微信授权登录”,在设置界面填写Android的 App的签名&包名,设置完成后系统自动生成应用程序schema。

企业微信分享的设置,复用企业微信授权登录的设置,设置以后登录、分享任何一个都可以使用。

下载企业微信终端开发工具包

wwapi.zip

每个第三方应用必须要导入该sdk库,用于实现与企业微信的通信

示例程序

搭建开发环境

在你需要使用企业微信终端API的文件中导入相应的类。

import com.tencent.wework.api.model.WWMediaText;

在代码中使用开发工具包

注册到企业微信

要使你的程序启动后企业微信终端能响应你的程序,必须在代码中向企业微信终端注册你的id。可以在程序入口Activity的onCreate回调函数处,或其他合适的地方将你的应用schema注册到企业微信。

private static final String APPID = "WW1e933be11645237c";

private static final String AGENTID = "1000012";

private static final String SCHEMA = "wwauth1e933be11645237c000012";

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

stringId = getApplicationInfo().labelRes;

iwwapi = WWAPIFactory.createWWAPI(this);

iwwapi.registerApp(SCHEMA);

}

发送请求和接收返回值

现在,你的程序要发送请求到企业微信终端,可以通过IWWAPI的sendMessage方法来实现。

boolean sendMessage(BaseMessage msg);

sendMessage是第三方app主动发送消息给企业微信,发送完成之后会切回到第三方app界面。

boolean sendMessage(BaseMessage req, IWWAPIEventHandler callback)

带回调的sendMessage是第三方app向企业微信请求数据,企业微信回应数据之后会切回到第三方app界面。

sendMessage的实现示例,如下所示:WWMediaText txt = new WWMediaText(((EditText) findViewById(R.id.et3)).getText().toString());

txt.appPkg = getPackageName();

txt.appName = getString(stringId);

txt.appId = APPID;

txt.agentId = AGENTID;

iwwapi.sendMessage(txt);

带回调的sendMessage的实现,如下所示:final WWAuthMessage.Req req = new WWAuthMessage.Req();

req.sch = SCHEMA;

req.appId = APPID;

req.agentId = AGENTID;

req.state = "dd";

iwwapi.sendMessage(req, new IWWAPIEventHandler() {

@Override

public void handleResp(BaseMessage resp) {

if (resp instanceof WWAuthMessage.Resp) {

WWAuthMessage.Resp rsp = (WWAuthMessage.Resp) resp;

if (rsp.errCode == WWAuthMessage.ERR_CANCEL) {

Toast.makeText(MainActivity.this, "登录取消", Toast.LENGTH_SHORT).show();

}else if (rsp.errCode == WWAuthMessage.ERR_FAIL) {

Toast.makeText(MainActivity.this, "登录失败", Toast.LENGTH_SHORT).show();

} else if (rsp.errCode == WWAuthMessage.ERR_OK) {

Toast.makeText(MainActivity.this, "登录成功:" + rsp.code,

Toast.LENGTH_SHORT).show();

}

}

}

});

具体要发送的内容由第三方app开发者定义,具体可参考微信开发工具包中的SDK apitest源码。

注意

如果需要混淆代码,为了保证sdk的正常使用,需要在proguard.cfg加上下面两行配置:-keep class com.tencent.wework.api.** {

*;

}

至此,你已经能使用企业微信Android开发工具包的API内容了。如果想更详细了解每个API函数的用法,请查阅 Android 平台参考手册 或自行下载阅读企业微信apitest源码。

分享功能接入

企业微信分享是指第三方App通过接入该功能,让用户可以从App分享文字、图片、文件、视频、网页至企业微信会话。

企业微信分享目前支持文字、图片、文件、视频、网页共五种类型。开发者在App中在集成企业微信SDK后,可调用接口实现,以下依次是文字分享、图片分享、文件分享、视频分享、网站分享的示例。

文字类型分享示例

WWMediaText txt = new WWMediaText(

((EditText) findViewById(R.id.et3)).getText().toString());

txt.appPkg = getPackageName();

txt.appName = getString(stringId);

txt.appId = APPID;

txt.agentId = AGENTID;

iwwapi.sendMessage(txt);

图片类型分享示例

WWMediaImage img = new WWMediaImage();

img.fileName = "test";

img.filePath = path;

img.appPkg = getPackageName();

img.appName = getString(stringId);

img.appId = APPID;

img.agentId = AGENTID;

iwwapi.sendMessage(img);

文件类型分享示例

WWMediaFile file = new WWMediaFile();

file.fileName = "test";

file.filePath = path;

file.appPkg = getPackageName();

file.appName = getString(stringId);

file.appId = APPID;

file.agentId = AGENTID;

iwwapi.sendMessage(file);

视频类型分享示例

WWMediaVideo video = new WWMediaVideo();

video.fileName = "test";

video.filePath = path;

video.appPkg = getPackageName();

video.appName = getString(stringId);

video.appId = APPID;

video.agentId = AGENTID;

iwwapi.sendMessage(video);

网页类型分享示例WWMediaLink link = new WWMediaLink();

link.thumbUrl = ((EditText) findViewById(R.id.et2)).getText().toString();

link.webpageUrl = ((EditText) findViewById(R.id.et1)).getText().toString();

link.title = ((EditText) findViewById(R.id.et3)).getText().toString();

link.description = ((EditText) findViewById(R.id.et4)).getText().toString();

link.appPkg = getPackageName();

link.appName = getString(stringId);

link.appId = APPID;

link.agentId = AGENTID;

iwwapi.sendMessage(link);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值