微信分享的代码实现
来源:互联网 发布:set java environment 编辑:程序博客网 时间:2024/06/15 04:40
//导入依赖
compile 'com.tencent.mm.opensdk:wechat-sdk-android-with-mta:+'
//导入权限
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.jo.jingou"> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <!--分享,收藏,登录回调--> <activity android:name=".wxapi.WXEntryActivity" android:exported="true" android:launchMode="singleTop"> <intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <data android:scheme="wxbd3e6bba8efbae73" /> </intent-filter> </activity> <activity android:name=".wxapi.WXPayEntryActivity"></activity> <!--注册应用到微信--> <receiver android:name=".AppRegister"> <intent-filter> <action android:name="com.tencent.mm.plugin.openapi.Intent.ACTION_REFRESH_WXAPP" /> </intent-filter> </receiver> </application></manifest>
==================================WXEntryActivitypackage com.jo.jingou.wxapi;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import com.jo.jingou.R;import com.tencent.mm.opensdk.modelbase.BaseReq;import com.tencent.mm.opensdk.modelbase.BaseResp;import com.tencent.mm.opensdk.openapi.IWXAPIEventHandler;/** * 分享,收藏,登录的回调 */public class WXEntryActivity extends AppCompatActivity implements IWXAPIEventHandler { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_wxentry); } /** * 请求 * @param baseReq */ @Override public void onReq(BaseReq baseReq) { } /** * 响应 * @param baseResp */ @Override public void onResp(BaseResp baseResp) { }}=====================================WXPayEntryActivity
package com.jo.jingou.wxapi;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import com.jo.jingou.R;/** * 支付回调处理 */public class WXPayEntryActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_wxpay_entry); }}==============================AppRegister
package com.jo.jingou;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import com.tencent.mm.opensdk.openapi.IWXAPI;import com.tencent.mm.opensdk.openapi.WXAPIFactory;/** * Created by liqy on 2017/12/8. */public class AppRegister extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { final IWXAPI msgApi = WXAPIFactory.createWXAPI(context, null); // 将该app注册到微信 msgApi.registerApp(Constants.APP_ID); }}======================================Constants
package com.jo.jingou;/** * Created by liqy on 2017/12/8. */public class Constants { // APP_ID 替换为你的应用从官方网站申请到的合法appId public static final String APP_ID = "wxbd3e6bba8efbae73";}================================MainActivity
//=============================布局mainpackage com.jo.jingou;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import com.tencent.mm.opensdk.modelmsg.GetMessageFromWX;import com.tencent.mm.opensdk.modelmsg.SendMessageToWX;import com.tencent.mm.opensdk.modelmsg.WXMediaMessage;import com.tencent.mm.opensdk.modelmsg.WXTextObject;import com.tencent.mm.opensdk.openapi.IWXAPI;import com.tencent.mm.opensdk.openapi.WXAPIFactory;public class MainActivity extends AppCompatActivity { private IWXAPI api; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // acquire wxapi api = WXAPIFactory.createWXAPI(this, Constants.APP_ID); findViewById(R.id.hello).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { shareText("第一次分享"); } }); } private void shareText(String text) { // 初始化一个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 = SendMessageToWX.Req.WXSceneTimeline;// req.openId = getOpenId(); // 调用api接口发送数据到微信 api.sendReq(req); } private String buildTransaction(final String type) { return (type == null) ? String.valueOf(System.currentTimeMillis()) : type + System.currentTimeMillis(); }}<?xml version="1.0" encoding="utf-8"?><android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.jo.jingou.MainActivity"> <TextView android:id="@+id/hello" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="分享文字到微信" android:background="#cccccc" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" /></android.support.constraint.ConstraintLayout>
//=========================wxentry<?xml version="1.0" encoding="utf-8"?><android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.jo.jingou.wxapi.WXEntryActivity"></android.support.constraint.ConstraintLayout>
============================wxpay_entry<?xml version="1.0" encoding="utf-8"?><android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.jo.jingou.wxapi.WXPayEntryActivity"></android.support.constraint.ConstraintLayout>
阅读全文
0 0
- 微信分享的代码实现
- 微信分享代码,朋友圈分享代码
- 微信分享功能的实现
- vue 微信分享的实现
- 微信网页分享代码
- 微信分享,js代码
- 微信分享核心代码
- 微信分享-js代码
- 微信分享示例代码
- 微信分享功能代码
- 配置环境代码,微信分享代码
- 空间 ,微信,微博等分享的代码
- Android微信实现分享
- 微信分享功能实现
- 前端实现微信分享
- 分享到空间或微信或新浪的代码
- H5活动页面遇到的坑+微信分享代码
- 实现微信分享以及解决分享后的回调监听是否分享成功
- Python_容器
- java线程概念案例
- thingkinginjava--第21章 并发(一)
- 虚拟机里面的Ubuntu系统如何调用主机的显卡
- .Net架构编程题
- 微信分享的代码实现
- 哺乳动物大脑神经元也能做深度学习,未来10年神经科学与人工智能将迎突破
- 2017微信小程序全套源代码 最新 最全 好用
- spring cloud使用介绍
- VS2008中,运行win32控制台程序,输出的DOS窗口会自动消失?
- vs2008 生成DLL,并在其他工程中调用
- react-native-baidu-map undefined is not an object(evaluting 'a.PropTypes.bool')
- 如何突破JAVA程序员三年的门槛
- cmd常用命令