//导入依赖
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>