相信现在项目中,有很多分享的功能,那么 今天 就说一下分享到微信,
首先要注册微信开发者账号,
创建应用,获得AppId,和AppSecret, 一般 2天 左右,微信就会审查通过,
然后 下载 微信的sdk即可,
如果要其他的功能,如微信登录以及微信支付的话,一般公司才可以,个人是不可以的。但是 如果个人 真要的话,也是 可以的。有第三方的api可以使用,
下面是我写的分享到微信的小例子:
public class MainActivity extends AppCompatActivity { private static final String APP_ID="wxfcbf89848f4cc373"; private IWXAPI api; private String text; private Bundle bundle; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); text="分享"; regToWx(); } private String buildTransaction(final String type) { return (type == null) ? String.valueOf(System.currentTimeMillis()) : type + System.currentTimeMillis(); } public void myShare(View v){ // 初始化一个WXTextObject对象 WXTextObject textObj = new WXTextObject(); textObj.text = text; // 用WXTextObject对象初始化一个WXMediaMessage对象 WXMediaMessage msg = new WXMediaMessage(); msg.mediaObject = textObj; // 发送文本类型的消息时,title字段不起作用 // msg.title = "Will be ignored"; msg.description = text; // 构造一个Req SendMessageToWX.Req req = new SendMessageToWX.Req(); req.transaction = buildTransaction("text"); // transaction字段用于唯一标识一个请求 req.message = msg; //req.scene=isTimelineCb.isChecked()?SendMessageToWX.Req.WXSceneTimeline:SendMessageToWX.Req.WXSceneSession; req.scene = SendMessageToWX.Req.WXSceneTimeline; // 调用api接口发送数据到微信 api.sendReq(req); } private void regToWx(){ api= WXAPIFactory.createWXAPI(this,APP_ID,true); api.registerApp(APP_ID); } }
清单文件要加入以下权限:
<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"/>
效果如下,