您的位置:首页 > 移动开发 > 微信开发

android 微信分享功能

2015-10-18 14:12 531 查看
1,申请应用:
获取应用签名:--》签名生成工具(apk)安装到android机中,--》输入程序包名--》获取签名 把签名输入就ok了
2,下载SDK
3,新手开发指南    
3.1:搭建开发环境。导入微信的jar
3.2 : 实现权限
<uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/> <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
 开始写代码
首先初始化一Object对象,根据不同的对象设置不同的Object(WXTextObject 或者 WXImageObject)
初始化一个WXMediaMessage对象,
构造一个request 即 Req
设置一个唯一的标示 : transaction;
把消息存入 Req
设置是发给好友还是朋友圈
调用接口api发送数据到微信
package com.scort.text;
import com.tencent.mm.sdk.modelbase.BaseReq;
import com.tencent.mm.sdk.modelbase.BaseResp;
import com.tencent.mm.sdk.modelmsg.SendMessageToWX;
import com.tencent.mm.sdk.modelmsg.WXMediaMessage;
import com.tencent.mm.sdk.modelmsg.WXTextObject;
import com.tencent.mm.sdk.openapi.IWXAPI;
import com.tencent.mm.sdk.openapi.IWXAPIEventHandler;
import com.tencent.mm.sdk.openapi.WXAPIFactory;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;
/**
* 微信 AppID(别人的):wxd8cd03e6fc9d9d0a
*
* @author Administrator
*
*/
public class MainActivity extends Activity implements OnClickListener{
private IWXAPI api;
public static final String APP_ID = "wx467d3011fc7900fb";
private Button btn_Share,btn_regApp;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn_Share = (Button) findViewById(R.id.Btn_Share);
btn_Share.setOnClickListener(this);

btn_regApp = (Button) findViewById(R.id.Btn_StartApp);
btn_regApp.setOnClickListener(this);

// 获取WXAPI实例
api = WXAPIFactory.createWXAPI(this, APP_ID,true);
//注册(把应用的appid注册到微信)
api.registerApp(APP_ID);

//		api.handleIntent(getIntent(), this);
}
@Override
protected void onDestroy() {
//取消注册
api.unregisterApp();
super.onDestroy();
}

@Override
public void onClick(View v) {
switch (v.getId()) {
/**
* 启动微信App
*/
case R.id.Btn_StartApp:
Toast.makeText(MainActivity.this, "launch result = " + api.openWXApp(), Toast.LENGTH_LONG).show();
break;
/**
* 分享朋友圈
*/
case R.id.Btn_Share:

// 初始化一个WXTextObject对象
WXTextObject textObj = new WXTextObject();
textObj.text = "Hello";
// 用WXTextObject对象初始化一个WXMediaMessage对象
WXMediaMessage msg = new WXMediaMessage();
msg.mediaObject = textObj;
// 发送文本类型的消息时,title字段不起作用
// msg.title = "Will be ignored";
msg.description =  "Hellossss";//不显示在界面上
// 构造一个Req
SendMessageToWX.Req req = new SendMessageToWX.Req();
req.transaction = buildTransaction("text"); // transaction字段用于唯一标识一个请求
req.message = msg;
req.scene = SendMessageToWX.Req.WXSceneTimeline;//发送到朋友圈  WXSceneSession会话
// 调用api接口发送数据到微信
api.sendReq(req);
break;
}
}
private String buildTransaction(final String type) {
//三目运算符 (表达式1)?(表达式2):(表达式3),计算方法是这样的:表达式1是一个逻辑表达式,如果其值为true,则整个表达式的值为表达式2的值,否则为表达式3的值
return (type == null) ? String.valueOf(System.currentTimeMillis()) : type + System.currentTimeMillis();
}
}


具体的其他操作还查看SDK或者是查看官网Demo
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  sdk 微信 应用 android