public class MainActivity extends Activity {
// 应用程序的id,就是在网上开发平台创建应用的appid
public static final String APP_ID = "wx00e5fafe00473016";
// 微信api的访问变量
private IWXAPI iwxapi;
private CheckBox mshareFriends;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

iwxapi = WXAPIFactory.createWXAPI(getApplicationContext(), APP_ID);
// 将appid注册到微信中
iwxapi.registerApp(APP_ID);

mshareFriends = (CheckBox) findViewById(R.id.cb_shareFriends);
}

// 启动微信
public void launch_weixin(View v) {
if (iwxapi.openWXApp()) {
Toast.makeText(getApplicationContext(), "打开微信成功", 3).show();
} else {
Toast.makeText(getApplicationContext(), "打开微信失败", 3).show();
}
}

// 为请求生成一个唯一的表示
private String buildTransaction(final String type) {
return (type == null) ? String.valueOf(System.currentTimeMillis())
: type + System.currentTimeMillis();
}

// 向好友或者朋友圈发送文本
public void send_txt(View v) {
// 创建edittext控件,用于输入文本
final EditText editText = new EditText(getApplicationContext());
editText.setLayoutParams(new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_PARENT,
LinearLayout.LayoutParams.WRAP_CONTENT));
editText.setText("用程序分享的默认文本");

AlertDialog.Builder builder = new AlertDialog.Builder(this).setIcon(
R.drawable.ic_launcher).setTitle("共享文本");
// 将edittext与对话框绑定
builder.setView(editText);
builder.setMessage("请输入要分享的文本");
builder.setPositiveButton("分享", new OnClickListener() {

@Override
public void onClick(DialogInterface arg0, int arg1) {
String text = editText.getText().toString();
if (text == null || text.length() == 0) {
return;
}
// 1 创建一个用于封装待分享文本的WXTextObject对象
WXTextObject textObject = new WXTextObject();
textObject.text = text;
// 2创建WXMediaMessage对象,该对象用于android客户端向微信发送数据
WXMediaMessage mediaMessage = new WXMediaMessage();
mediaMessage.mediaObject = textObject;
mediaMessage.description = text;
// 3创建一个用于请求微信客户端的SendMessageToWX.Req对象
SendMessageToWX.Req req = new SendMessageToWX.Req();
req.message = mediaMessage;
req.transaction = buildTransaction("text");
// 发送给朋友还是朋友圈
req.scene = mshareFriends.isChecked() ? req.WXSceneTimeline
: req.WXSceneSession;
// 4 发送给微信客户端
Toast.makeText(getApplicationContext(),
String.valueOf(iwxapi.sendReq(req)), Toast.LENGTH_SHORT)
.show();

}
}).setNegativeButton("取消", null);
AlertDialog dialog=builder.create();
dialog.show();

}
}

微信SDK开发学习的更多相关文章

  1. 继《关于讯飞语音SDK开发学习》之打包过程中遇到小问题

    关于讯飞语音SDK开发学习 使用vs自带打包,具体怎么操作就不说了,网上关于这方面的资料挺多的.例如:winform 打包部署,VS2010程序打包操作(超详细的),关键是桌面上创建快捷方式中的&qu ...

  2. Kinect for Windows SDK开发学习相关资源

    Kinect for Windows SDK(K4W)将Kinect的体感操作带到了平常的应用学习中,提供了一种不同于传统的鼠标,键盘及触摸的无接触的交互方式,在某种程度上实现了自然交互界面的理想,即 ...

  3. 微信SDK开发——接口接入

    园子里面很多关于微信接口开发的文章,Github也一堆的开源代码. 官方文档地址:http://mp.weixin.qq.com/wiki/home/index.html 接下来主要以代码为主,接口说 ...

  4. C#.NET的微信功能开发学习

    对于新手的我来说,我不是申请一个微信公众号认证后进行开发,我是申请一个订阅号,然后通过自己申请的订阅号的公众平台测试号来学习. 一,申请后成功后,打开开发者工具-公众平台测试号 二,进去公众平台测试号 ...

  5. tobii SDK开发学习

    最近实验室用到tobii的眼动仪,从网上了解了下,tobii是瑞典的眼跟踪技术开发商,今年似乎有上市计划,不知道市值多少 买了仪器后试用了下,还算可以,将来配合人体设备开发,不过配套软件还需要花钱买. ...

  6. 关于讯飞语音SDK开发学习

    前奏,浑浑噩噩已经工作一年多,这一年多收获还是挺多的.逛园子应该有两年多了,工作后基本上是天天都会来园子逛逛,园子 里还是有很多牛人写了一些不错的博客,帮我解决很多问题.但是一直没写过博客,归根到底一 ...

  7. 微信支付开发 c# SDK JSAPI支付开发的流程和微信大坑

    微信支付开发流程 1. 开通微信支付功能 省略 2. 下载微信的C#版的微信SDK 下载连接:https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chap ...

  8. 微信小程序开发学习资料

    作者:初雪链接:https://www.zhihu.com/question/50907897/answer/128494332来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明 ...

  9. 微信公众账号 Senparc.Weixin.MP SDK 开发教程 索引

    Senparc.Weixin.MP SDK从一开始就坚持开源的状态,这个过程中得到了许多朋友的认可和支持. 目前SDK已经达到比较稳定的版本,这个过程中我觉得有必要整理一些思路和经验,和大家一起分享. ...

随机推荐

  1. motto5

    No matter what others say,I won't forsake my priciples.

  2. jQuery 事件用法详解

    jQuery 事件用法详解 目录 简介 实现原理 事件操作 绑定事件 解除事件 触发事件 事件委托 事件操作进阶 阻止默认事件 阻止事件传播 阻止事件向后执行 命名空间 自定义事件 事件队列 jque ...

  3. 通过pypyodbc使用SQL server

    通过pypyodbc使用SQL server 不像pyodbc需要C, pypyodbc是纯python的实现, 安装起来非常方便. 创建连接: #在操作系统上先配odbc, 然后在代码中指定odbc ...

  4. excel插入当前时间快捷键Ctrl+;

    之前写了一篇editplus如何插入当前时间_Ctrl+D的文章,有的同学说excel用习惯了,那在这我们就说一下excel插入当前时间快捷键,让您在excel快速插入当前时间 excel插入当前时间 ...

  5. String的内存分配

    1.String类是final类不能被继承 2.String str="abc"的内部工作 (1)先在栈中定 一个名为str的String类的引用变量 String str: (2 ...

  6. POJ 矩阵相乘 (随机化算法-舍伍德(Sherwood))

    周三的算法课,主要讲了随机化算法,介绍了拉斯维加斯算法,简单的理解了为什么要用随机化算法,随机化算法有什么好处. 在处理8皇后问题的时候,穷举法是最费时的,回朔比穷举好点,而当数据量比较大的时候,如1 ...

  7. FastMM的安装方法

    FastMM 快速在D2006和2007中已代替了原来的内存管理器.D7也可以使用,而且很方便哦.请看步骤: 1. FastMM是开源项目,去她老家先拖个来. http://sourceforge.n ...

  8. angular 强制刷新路由,重新加载路由

    angular js ui-route 在使用时默认不是不会刷新路由的,所有有些时候我们需要主动刷新路由. 主动刷新方法是: <a ui-sref="profitManage" ...

  9. 又是一个二模02,不过day2

    话说比较简单.除了第三题不会写平衡树啊你妹!!边做边写吧. 机智的链接~机智的链接~机智的链接~机智的链接~机智的链接~机智的链接~机智的链接~机智的链接~机智的链接~机智的链接~机智的链接~机智的链 ...

  10. MySQL 如何只导出 指定的表 的表结构和数据 ( 转 )

    MySQL 如何只导出 指定的表 的表结构和数据 ( 转 ) 2011-01-04 15:03:33 分类: MySQL MySQL 如何只导出 指定的表 的表结构和数据 导出更个库的表结构如下:my ...