wxlibrary aar файл: использование
В файле build.gradle проекта добавьте:
allprojects {
repositories {
google()
mavenCentral()
//jitpack 仓库
maven { url 'https://jitpack.io' }
}
}
В файл build.gradle приложения добавьте:
dependencies {
...
implementation 'com.gitee.osard:wxlibrary:1.1.1'
// Импортируем ресурсы *aar* из *wxlibrary*
implementation 'com.tencent.mm.opensdk:wechat-sdk-android-without-mta:+'
implementation 'org.greenrobot:eventbus:3.2.0'
}
WxApiGlobal.getInstance().init(getApplicationContext(), true, true);
Способ 1: в манифесте переопределить ресурс mete-data
<application
...>
<!--todo 微信appKey和appSecret赋值的方法一,tools:replace="android:value"为必要参数,否则编译无法通过-->
<meta-data
android:name="WX_LIBRARY_WX_APP_KEY"
android:value="123456s"
tools:replace="android:value"/>
<!--secret参数不需要时覆盖为空字符串即可-->
<meta-data
android:name="WX_LIBRARY_WX_APP_SECRET"
android:value="567890a"
tools:replace="android:value"/>
<!--todo 微信appKey和appSecret赋值的方法结束-->
<activity .../>
</applicaton>
*Способ 2: в манифесте не переопределять ресурс mete-data, а задать значения в gradle (app)
android {
...
defaultConfig {
...
//todo 微信appKey和appSecret赋值的方法二,2个参数都需要赋值,secret不需要时赋值为空字符串即可
manifestPlaceholders = [
WX_LIBRARY_WX_APP_KEY: '',
WX_LIBRARY_WX_APP_SECRET: ''
]
}
...
}
1. Вход
// Обратите внимание на регистрацию обратных вызовов событий, иначе они не будут вызваны
WxLoginUtil.newInstance()
.setSucceed((code) -> {
// Обратный вызов процесса входа успешен code - это код, возвращаемый WeChat
// Если вам нужно получить openID в приложении, вы можете использовать WxApiGlobal.getInstance (). GetAppKey () и WxApiGlobal.getInstance (). GetAppSecret () для получения необходимых параметров WeChat, пожалуйста, убедитесь, что вы ввели правильные параметры перед использованием
return;
})
.setNoInstalled((() -> {
// Клиент WeChat не установлен
return;
}))
.setUserCancel(() -> {
// Пользователь отменяет
return;
})
.setFail((errorCode, errStr) -> {
// Другие типы ошибок, errorCode - это код ошибки, возвращаемый WeChat
return;
})
// Отправить запрос на вход
.logIn();
2. Обмен
// Обратите внимание на регистрацию обратных вызовов событий, иначе они не будут вызваны
WxShareUtil.newInstance()
.setSucceed(() -> {
// Успешный обратный вызов процесса обмена
})
.setNoInstalled((() -> {
// Клиент WeChat не установлен
}))
.setUserCancel(() -> {
// Пользователь отменяет, поскольку WeChat был скорректирован, состояние отмены пользователя не будет вызвано
})
.setFail((errorCode, errStr) -> {
// Другие типы ошибок, errorCode - это код ошибки, возвращаемый WeChat
})
// Отправка запроса на обмен
.shareTextMessage("Содержание", "Заголовок", "Описание", ShareType.WXSceneTimeline);
3. Оплата
// req.appId = json.getString("appid");
// req.partnerId = json.getString("partnerid");
// req.prepayId = json.getString("prepayid");
// req.nonceStr = json.getString("noncestr");
// req.timeStamp = json.getString("timestamp");
// req.packageValue = json.getString("package");
// req.sign = json.getString("sign");
//
``` **Текст запроса:**
此json文本需要包含以上所需字段,或者使用实体方式,不列举 // 注意以下注册回调事件不注册则不会触发 WxPayUtil.newInstance() .setSucceed(() -> { // sdk支付成功,向微信服务器查询下具体结果吧 }) .setNoInstalled((() -> { // 微信客户端未安装 })) .setUserCancel(() -> { // 用户取消 }) .setFail((errorCode, errStr) -> { // 其他类型错误, errorCode为微信返回的错误码 }) //发起分享请求 .payWeChat("json文本");
**Перевод:**
Этот JSON-текст должен содержать указанные выше необходимые поля или использовать сущности, без перечисления.
// Внимание: следующие зарегистрированные события обратного вызова не будут инициированы, если они не зарегистрированы.
WxPayUtil.newInstance().
setSucceed(()->{
// Платёж через SDK прошёл успешно, запросите конкретные результаты с сервера WeChat.
}).
setNoInstalled(()->{
// Клиентское приложение WeChat не установлено.
}).
setUserCancel(()->{
// Пользователь отменил операцию.
}).
setFail((errorCode,errStr)->{
// Другие типы ошибок, errorCode — это код ошибки, возвращаемый WeChat.
});
// Инициировать запрос на совместное использование.
.payWeChat("JSON-текст");
android { signingConfigs { release { storeFile file('key文件位置,可写相对位置。默认是相对于app的文件夹下') storePassword 'key文件密码' keyAlias = '打包别名' keyPassword '别名密码' } } ... buildTypes { debug { signingConfig signingConfigs.release } release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' signingConfig signingConfigs.release } }
}
Аndroid { signingConfigs { release { storeFile файл('расположение файла ключа, можно указать относительное расположение. По умолчанию находится в папке приложения') storePassword 'пароль файла ключа' keyAlias = 'псевдоним для пакета' keyPassword 'пароль псевдонима' } } ... buildTypes { debug { signingConfig signingConfigs.release } release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' signingConfig signingConfigs.release } } }
Copyright 2021 mjsoftking
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )