修改上传图片逻辑
This commit is contained in:
@@ -10,8 +10,8 @@ MobSDK {
|
||||
loopShare true
|
||||
devInfo {
|
||||
Wechat {
|
||||
appId "wx3858bffeddfb91b8"
|
||||
appSecret "0b59b165268b63ba6446d1dc55a21f38"
|
||||
appId "wx7b5c4e89e726a72c"
|
||||
appSecret "afc9860f4c670ac19f9efb0ab94927a3"
|
||||
}
|
||||
QQ {
|
||||
appId "102046191"
|
||||
@@ -33,10 +33,10 @@ android {
|
||||
defaultConfig {
|
||||
applicationId "com.yuyin.mier"
|
||||
minSdkVersion 22
|
||||
targetSdkVersion 33
|
||||
targetSdkVersion 31
|
||||
|
||||
versionCode 42
|
||||
versionName "1.3.3"
|
||||
versionCode 46
|
||||
versionName "1.3.6"
|
||||
dataBinding {
|
||||
//noinspection DataBindingWithoutKapt
|
||||
enabled = true
|
||||
|
||||
@@ -9,39 +9,53 @@
|
||||
</queries> <!-- 这个权限用于进行网络定位 -->
|
||||
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <!-- 这个权限用于访问GPS定位 -->
|
||||
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <!-- 用于访问wifi网络信息,wifi信息会用于进行网络定位 -->
|
||||
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <!-- 获取运营商信息,用于支持提供运营商信息相关的接口 -->
|
||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!-- 这个权限用于获取wifi的获取权限,wifi信息会用来进行网络定位 -->
|
||||
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> <!-- 写入扩展存储,向扩展卡写入数据,用于写入离线定位数据 -->
|
||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <!-- 访问网络,网络定位需要上网 -->
|
||||
<uses-permission android:name="android.permission.INTERNET" />
|
||||
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
|
||||
<uses-permission android:name="android.permission.WAKE_LOCK" />
|
||||
<uses-permission android:name="android.permission.INTERNET" />
|
||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
|
||||
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
|
||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
||||
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
|
||||
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
|
||||
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
|
||||
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
|
||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!-- The Agora SDK requires Bluetooth permissions in case users are using Bluetooth devices. -->
|
||||
<uses-permission android:name="android.permission.BLUETOOTH" />
|
||||
<uses-permission android:name="android.permission.CAMERA" />
|
||||
<uses-permission android:name="android.permission.RECORD_AUDIO" />
|
||||
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
|
||||
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
|
||||
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" /> <!-- 控制呼吸灯,振动器等,用于新消息提醒 -->
|
||||
<uses-permission android:name="android.permission.FLASHLIGHT" />
|
||||
<uses-permission android:name="android.permission.VIBRATE" /> <!-- SDK 权限申明, 第三方 APP 接入时,请将 com.netease.nim.demo 替换为自己的包名 -->
|
||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!-- 获取网络状态 -->
|
||||
<uses-permission android:name="android.permission.INTERNET" /> <!-- 网络通信 -->
|
||||
<uses-permission android:name="android.permission.READ_PHONE_STATE" /> <!-- 获取设备信息 -->
|
||||
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <!-- 获取MAC地址 -->
|
||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <!-- 读写sdcard,storage等等 -->
|
||||
<uses-permission android:name="android.permission.RECORD_AUDIO" /> <!-- 允许程序录制音频 -->
|
||||
<uses-permission android:name="android.permission.GET_TASKS" />
|
||||
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
|
||||
|
||||
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <!-- Android 9 及以下 -->
|
||||
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES" /> <!-- Android 13+ 图片权限 -->
|
||||
<uses-permission android:name="android.permission.READ_MEDIA_VIDEO" /> <!-- Android 13+ 视频权限 -->
|
||||
|
||||
|
||||
<uses-permission android:name="android.permission.NETWORK_PROVIDER" />
|
||||
|
||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
|
||||
android:maxSdkVersion="28" />
|
||||
<!-- />-->
|
||||
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
|
||||
<uses-permission android:name="android.permission.REORDER_TASKS" />
|
||||
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
|
||||
<uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
|
||||
<uses-permission android:name="android.permission.RECEIVE_USER_PRESENT" />
|
||||
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
|
||||
<uses-permission android:name="android.permission.READ_MEDIA_AUDIO"/>
|
||||
<queries package="${applicationId}">
|
||||
<intent>
|
||||
<action android:name="android.media.action.IMAGE_CAPTURE">
|
||||
|
||||
</action>
|
||||
</intent>
|
||||
<intent>
|
||||
<action android:name="android.media.action.ACTION_VIDEO_CAPTURE">
|
||||
|
||||
</action>
|
||||
</intent>
|
||||
</queries>
|
||||
<!-- 基础权限 -->
|
||||
<application
|
||||
android:name="com.yuyin.lib_base.App"
|
||||
android:allowBackup="true"
|
||||
@@ -79,6 +93,8 @@
|
||||
android:name="design_height_in_dp"
|
||||
android:value="812" />
|
||||
|
||||
|
||||
|
||||
<activity
|
||||
android:name="com.yuyin.mier.module_my.set.BindPhoneActivity"
|
||||
android:exported="true" />
|
||||
|
||||
@@ -47,14 +47,14 @@ class ChongZhiActivity : BaseDataBindingActivity<ChongZhiViewModel, ViewDataBind
|
||||
val mWxApi = WXAPIFactory.createWXAPI(
|
||||
this,null)
|
||||
// 将该app注册到微信
|
||||
mWxApi.registerApp("wx3858bffeddfb91b8")
|
||||
mWxApi.registerApp("wx7b5c4e89e726a72c")
|
||||
// 判断是否安装客户端
|
||||
if (!mWxApi.isWXAppInstalled) {
|
||||
"请您先安装微信客户端!".showToast()
|
||||
return@observe
|
||||
}
|
||||
val req = PayReq()
|
||||
req.appId = "wx3858bffeddfb91b8" // 微信开放平台审核通过的应用APPID
|
||||
req.appId = "wx7b5c4e89e726a72c" // 微信开放平台审核通过的应用APPID
|
||||
|
||||
req.partnerId = it.partnerid // 微信支付分配的商户号
|
||||
|
||||
|
||||
@@ -2,50 +2,82 @@ package com.yuyin.mier.module_my.edituser
|
||||
|
||||
import android.Manifest
|
||||
import android.annotation.SuppressLint
|
||||
import android.app.AlertDialog
|
||||
import android.content.Context
|
||||
import android.content.DialogInterface
|
||||
import android.content.Intent
|
||||
import android.net.Uri
|
||||
import android.os.Build
|
||||
import android.provider.Settings
|
||||
import android.text.TextUtils
|
||||
import android.view.View
|
||||
import android.widget.ImageView
|
||||
import androidx.annotation.RequiresApi
|
||||
import androidx.recyclerview.widget.GridLayoutManager
|
||||
import com.alibaba.android.arouter.facade.annotation.Route
|
||||
import com.baoyz.actionsheet.ActionSheet
|
||||
import com.baoyz.actionsheet.ActionSheet.ActionSheetListener
|
||||
import com.bigkoo.pickerview.builder.TimePickerBuilder
|
||||
import com.bumptech.glide.Glide
|
||||
import com.yuyin.lib_base.arouter.AroutUtil.MAIN_MY_USER_INFO
|
||||
import com.yuyin.lib_base.base.BaseActivity
|
||||
import com.yuyin.lib_base.util.showToast
|
||||
import com.bumptech.glide.Priority
|
||||
import com.bumptech.glide.request.RequestOptions
|
||||
import com.luck.picture.lib.basic.PictureSelector
|
||||
import com.luck.picture.lib.config.PictureConfig
|
||||
import com.luck.picture.lib.engine.ImageEngine
|
||||
import com.luck.picture.lib.entity.LocalMedia
|
||||
import com.luck.picture.lib.style.PictureSelectorStyle
|
||||
import com.lzy.imagepicker.ImagePicker
|
||||
import com.lzy.imagepicker.bean.ImageItem
|
||||
import com.lzy.imagepicker.ui.ImageGridActivity
|
||||
import com.tbruyelle.rxpermissions2.RxPermissions
|
||||
import com.tencent.imsdk.v2.V2TIMManager
|
||||
import com.tencent.imsdk.v2.V2TIMUserFullInfo
|
||||
import com.tencent.qcloud.tuicore.component.imageEngine.impl.GlideEngine
|
||||
import com.yuyin.lib_base.arouter.AroutUtil.MAIN_MY_USER_INFO
|
||||
import com.yuyin.lib_base.base.BaseActivity
|
||||
import com.yuyin.lib_base.base.UserManager
|
||||
import com.yuyin.lib_base.model.Login
|
||||
import com.yuyin.lib_base.util.PermissionsChecker
|
||||
import com.yuyin.lib_base.util.showToast
|
||||
import com.yuyin.mier.R
|
||||
import com.yuyin.module_community.adapter.FBPicListAdapter
|
||||
import com.yuyin.module_community.adapter.FullyGridLayoutManager
|
||||
import com.yuyin.module_community.model.ImageItems
|
||||
|
||||
import kotlinx.android.synthetic.main.activity_modify_data.*
|
||||
import kotlinx.android.synthetic.main.activity_modify_data.birthday
|
||||
import kotlinx.android.synthetic.main.activity_modify_data.birthday_btn
|
||||
import kotlinx.android.synthetic.main.activity_modify_data.head_image
|
||||
import kotlinx.android.synthetic.main.activity_modify_data.id
|
||||
import kotlinx.android.synthetic.main.activity_modify_data.ll_quanxian
|
||||
import kotlinx.android.synthetic.main.activity_modify_data.rl_sex
|
||||
import kotlinx.android.synthetic.main.activity_modify_data.sex
|
||||
import kotlinx.android.synthetic.main.activity_modify_data.sor_release_rv
|
||||
import kotlinx.android.synthetic.main.activity_modify_data.textSend
|
||||
import kotlinx.android.synthetic.main.activity_modify_data.tv_aihao
|
||||
import kotlinx.android.synthetic.main.activity_modify_data.tv_baocun
|
||||
import kotlinx.android.synthetic.main.activity_modify_data.tv_qianming
|
||||
import okhttp3.MediaType.Companion.toMediaTypeOrNull
|
||||
import okhttp3.MultipartBody
|
||||
import okhttp3.RequestBody
|
||||
import org.litepal.LitePal
|
||||
import java.io.File
|
||||
import java.lang.Exception
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.*
|
||||
import java.util.Calendar
|
||||
import java.util.Date
|
||||
import java.util.Locale
|
||||
import java.util.TimeZone
|
||||
|
||||
|
||||
@Route(path = MAIN_MY_USER_INFO)
|
||||
class ModifyDataActivity : BaseActivity<ModifyDataViewModel>() {
|
||||
private var startDate: Calendar = Calendar.getInstance()
|
||||
private var endDate: Calendar = Calendar.getInstance()
|
||||
private var seleteDate: Calendar = Calendar.getInstance()
|
||||
var permissionListTmp = arrayOf<String>(Manifest.permission.CAMERA,
|
||||
var permissionListTmp = arrayOf<String>(
|
||||
Manifest.permission.CAMERA,
|
||||
Manifest.permission.WRITE_EXTERNAL_STORAGE,
|
||||
Manifest.permission.READ_EXTERNAL_STORAGE)
|
||||
Manifest.permission.READ_EXTERNAL_STORAGE
|
||||
)
|
||||
|
||||
//图片
|
||||
val REQUEST_CODE_SELECT = 100
|
||||
val REQUEST_CODE_SELEC2 = 101
|
||||
@@ -138,6 +170,7 @@ class ModifyDataActivity : BaseActivity<ModifyDataViewModel>() {
|
||||
sexStr = "1"
|
||||
sex.text = "男"
|
||||
}
|
||||
|
||||
1 -> {
|
||||
sexStr = "2"
|
||||
sex.text = "女"
|
||||
@@ -167,7 +200,7 @@ class ModifyDataActivity : BaseActivity<ModifyDataViewModel>() {
|
||||
"爱好不能为空".showToast()
|
||||
return@setOnClickListener
|
||||
}
|
||||
|
||||
// if (tempList.size == 0) {
|
||||
if (selImageList.size == 0) {
|
||||
viewModel.editUserInfo(
|
||||
imgString,
|
||||
@@ -180,9 +213,23 @@ class ModifyDataActivity : BaseActivity<ModifyDataViewModel>() {
|
||||
} else {
|
||||
uploadFile(selImageList[0].path)
|
||||
}
|
||||
// }else{
|
||||
// uploadFile(tempList[0].path)
|
||||
// }
|
||||
}
|
||||
head_image.setOnClickListener {
|
||||
showImgPop()
|
||||
// showImgPop()
|
||||
// var my :GlideEngine
|
||||
PictureSelector.create(this)
|
||||
.openGallery(1)
|
||||
.setImageEngine(TUIEngine())
|
||||
.setSelectorUIStyle(PictureSelectorStyle())
|
||||
.isGif(false)
|
||||
.setMaxSelectNum(1)
|
||||
.isPreviewImage(true)
|
||||
.isDisplayCamera(true)
|
||||
.isOriginalSkipCompress(true)
|
||||
.forResult(REQUEST_CODE_SELECT) //结果回调onActivityResult code
|
||||
}
|
||||
birthday_btn.setOnClickListener {
|
||||
val string = birthday.text.toString()
|
||||
@@ -215,33 +262,61 @@ class ModifyDataActivity : BaseActivity<ModifyDataViewModel>() {
|
||||
}
|
||||
|
||||
adapter.setOnItemClickListener { adapter2, view, position ->
|
||||
var mPermissionsChecker= PermissionsChecker(this@ModifyDataActivity)
|
||||
if (mPermissionsChecker!!.lacksPermissions(*permissionListTmp)) {
|
||||
ll_quanxian.visibility= View.VISIBLE
|
||||
}else{
|
||||
ll_quanxian.visibility= View.GONE
|
||||
}
|
||||
// var mPermissionsChecker = PermissionsChecker(this@ModifyDataActivity)
|
||||
// if (mPermissionsChecker!!.lacksPermissions(*permissionListTmp)) {
|
||||
// ll_quanxian.visibility = View.VISIBLE
|
||||
// } else {
|
||||
// ll_quanxian.visibility = View.GONE
|
||||
// }
|
||||
|
||||
if (adapter.data[position].type == 2) {
|
||||
var numss = 9 - (adapter.data.size - 1)
|
||||
if (numss > 3) numss = 3
|
||||
val rxPermissions = RxPermissions(this)
|
||||
val finalNumss = numss
|
||||
rxPermissions
|
||||
.request(Manifest.permission.CAMERA, Manifest.permission.WRITE_EXTERNAL_STORAGE)
|
||||
.subscribe { granted: Boolean ->
|
||||
if (granted) { // Always true pre-M
|
||||
// 跳转到相册
|
||||
ll_quanxian.visibility= View.GONE
|
||||
ImagePicker.getInstance().selectLimit = finalNumss
|
||||
ImagePicker.getInstance().isMultiMode = true
|
||||
ImagePicker.getInstance().isCrop = false
|
||||
val intent = Intent(this, ImageGridActivity::class.java)
|
||||
//显示选中的图片
|
||||
startActivityForResult(intent, REQUEST_CODE_SELEC2)
|
||||
}else{
|
||||
ll_quanxian.visibility= View.GONE
|
||||
}
|
||||
}
|
||||
|
||||
PictureSelector.create(this)
|
||||
.openGallery(1)
|
||||
.setImageEngine(TUIEngine())
|
||||
.setSelectorUIStyle(PictureSelectorStyle())
|
||||
.isGif(false)
|
||||
.setMaxSelectNum(9)
|
||||
.isPreviewImage(true)
|
||||
.isDisplayCamera(true)
|
||||
.isOriginalSkipCompress(true)
|
||||
.forResult(REQUEST_CODE_SELEC2) //结果回调onActivityResult code
|
||||
|
||||
// var numss = 9 - (adapter.data.size - 1)
|
||||
// if (numss > 3) numss = 3
|
||||
// val rxPermissions = RxPermissions(this)
|
||||
// val finalNumss = numss
|
||||
// rxPermissions
|
||||
// .request(
|
||||
// Manifest.permission.CAMERA,
|
||||
// Manifest.permission.WRITE_EXTERNAL_STORAGE,
|
||||
// Manifest.permission.READ_MEDIA_IMAGES
|
||||
// )
|
||||
// .subscribe { granted: Boolean ->
|
||||
// if (granted) { // Always true pre-M
|
||||
// // 跳转到相册
|
||||
// ll_quanxian.visibility = View.GONE
|
||||
// ImagePicker.getInstance().selectLimit = finalNumss
|
||||
// ImagePicker.getInstance().isMultiMode = true
|
||||
// ImagePicker.getInstance().isCrop = false
|
||||
// val intent = Intent(this, ImageGridActivity::class.java)
|
||||
// //显示选中的图片
|
||||
// startActivityForResult(intent, REQUEST_CODE_SELEC2)
|
||||
// } else {
|
||||
// ll_quanxian.visibility = View.GONE
|
||||
// AlertDialog.Builder(this@ModifyDataActivity)
|
||||
// .setMessage("需要存储权限来访问相册")
|
||||
// .setPositiveButton("去设置") { dialog, which ->
|
||||
// val intent: Intent =
|
||||
// Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS)
|
||||
// val uri = Uri.fromParts("package", packageName, null)
|
||||
// intent.setData(uri)
|
||||
// startActivity(intent)
|
||||
// }
|
||||
// .setNegativeButton("取消", null)
|
||||
// .show()
|
||||
// }
|
||||
// }
|
||||
}
|
||||
}
|
||||
adapter.setOnItemChildClickListener { adapter, view, position ->
|
||||
@@ -257,7 +332,7 @@ class ModifyDataActivity : BaseActivity<ModifyDataViewModel>() {
|
||||
} else {
|
||||
adapter.notifyDataSetChanged()
|
||||
}
|
||||
}catch (e:Exception){
|
||||
} catch (e: Exception) {
|
||||
e.printStackTrace()
|
||||
}
|
||||
|
||||
@@ -267,9 +342,72 @@ class ModifyDataActivity : BaseActivity<ModifyDataViewModel>() {
|
||||
}
|
||||
}
|
||||
|
||||
class TUIEngine : ImageEngine {
|
||||
override fun loadImage(context: Context, url: String, imageView: ImageView) {
|
||||
GlideEngine.loadImage(imageView, url)
|
||||
}
|
||||
|
||||
override fun loadImage(
|
||||
context: Context?,
|
||||
imageView: ImageView?,
|
||||
url: String?,
|
||||
maxWidth: Int,
|
||||
maxHeight: Int
|
||||
) {
|
||||
if (imageView != null) {
|
||||
Glide.with(context!!)
|
||||
.load(url)
|
||||
.apply(
|
||||
RequestOptions()
|
||||
.override(maxWidth, maxHeight)
|
||||
.priority(Priority.HIGH)
|
||||
.fitCenter()
|
||||
)
|
||||
.into(imageView)
|
||||
}
|
||||
}
|
||||
|
||||
override fun loadAlbumCover(context: Context, url: String, imageView: ImageView) {
|
||||
GlideEngine.loadImage(imageView, url)
|
||||
}
|
||||
|
||||
override fun loadGridImage(context: Context, url: String, imageView: ImageView) {
|
||||
GlideEngine.loadImage(imageView, url)
|
||||
}
|
||||
|
||||
override fun pauseRequests(context: Context) {
|
||||
// GlideEngine中没有对应方法,可以留空
|
||||
}
|
||||
|
||||
override fun resumeRequests(context: Context) {
|
||||
// GlideEngine中没有对应方法,可以留空
|
||||
}
|
||||
|
||||
fun clearMemory(context: Context) {
|
||||
// 可以调用Glide的清理方法
|
||||
Glide.get(context).clearMemory()
|
||||
}
|
||||
|
||||
fun loadPreImage(context: Context, url: String, imageView: ImageView) {
|
||||
GlideEngine.loadImage(imageView, url)
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
private fun uploadFile(pic: String) {
|
||||
val parts = ArrayList<MultipartBody.Part>()
|
||||
val listPos: MutableList<Int> = ArrayList()
|
||||
// if (tempList.size != 0){
|
||||
// for (i in tempList.indices) {
|
||||
// val file = File(tempList[i].path)
|
||||
// val requestFile =
|
||||
// RequestBody.create("multipart/form-data".toMediaTypeOrNull(), file)
|
||||
// val body = MultipartBody.Part.createFormData("file[]", file.name, requestFile)
|
||||
// parts.add(body)
|
||||
// listPos.add(i)
|
||||
// }
|
||||
// }
|
||||
if (!TextUtils.isEmpty(pic)) {
|
||||
val file2 = File(pic)
|
||||
val requestFile2 = RequestBody.create("multipart/form-data".toMediaTypeOrNull(), file2)
|
||||
@@ -278,6 +416,7 @@ class ModifyDataActivity : BaseActivity<ModifyDataViewModel>() {
|
||||
listPos.add(1)
|
||||
}
|
||||
if (parts.size != 0) {
|
||||
|
||||
viewModel.uploadImages(parts)
|
||||
}
|
||||
}
|
||||
@@ -291,24 +430,26 @@ class ModifyDataActivity : BaseActivity<ModifyDataViewModel>() {
|
||||
.setListener(object : ActionSheetListener {
|
||||
override fun onDismiss(actionSheet: ActionSheet, isCancel: Boolean) {}
|
||||
|
||||
@RequiresApi(Build.VERSION_CODES.TIRAMISU)
|
||||
@SuppressLint("CheckResult")
|
||||
override fun onOtherButtonClick(actionSheet: ActionSheet, index: Int) {
|
||||
var mPermissionsChecker= PermissionsChecker(this@ModifyDataActivity)
|
||||
var mPermissionsChecker = PermissionsChecker(this@ModifyDataActivity)
|
||||
if (mPermissionsChecker!!.lacksPermissions(*permissionListTmp)) {
|
||||
ll_quanxian.visibility= View.VISIBLE
|
||||
}else{
|
||||
ll_quanxian.visibility= View.GONE
|
||||
ll_quanxian.visibility = View.VISIBLE
|
||||
} else {
|
||||
ll_quanxian.visibility = View.GONE
|
||||
}
|
||||
val rxPermissions = RxPermissions(this@ModifyDataActivity)
|
||||
rxPermissions
|
||||
.request(
|
||||
Manifest.permission.CAMERA,
|
||||
Manifest.permission.WRITE_EXTERNAL_STORAGE,
|
||||
Manifest.permission.READ_EXTERNAL_STORAGE
|
||||
Manifest.permission.READ_EXTERNAL_STORAGE,
|
||||
Manifest.permission.READ_MEDIA_IMAGES
|
||||
)
|
||||
.subscribe { granted: Boolean ->
|
||||
if (granted) { // Always true pre-M
|
||||
ll_quanxian.visibility= View.GONE
|
||||
ll_quanxian.visibility = View.GONE
|
||||
when (index) {
|
||||
0 -> {
|
||||
//相机
|
||||
@@ -326,6 +467,7 @@ class ModifyDataActivity : BaseActivity<ModifyDataViewModel>() {
|
||||
REQUEST_CODE_SELECT
|
||||
)
|
||||
}
|
||||
|
||||
1 -> {
|
||||
// 跳转到相册
|
||||
// Always true pre-M
|
||||
@@ -347,8 +489,19 @@ class ModifyDataActivity : BaseActivity<ModifyDataViewModel>() {
|
||||
}
|
||||
}
|
||||
|
||||
}else{
|
||||
ll_quanxian.visibility= View.GONE
|
||||
} else {
|
||||
ll_quanxian.visibility = View.GONE
|
||||
AlertDialog.Builder(this@ModifyDataActivity)
|
||||
.setMessage("需要存储权限来访问相册")
|
||||
.setPositiveButton("去设置") { dialog: DialogInterface?, which: Int ->
|
||||
val intent =
|
||||
Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS)
|
||||
val uri = Uri.fromParts("package", packageName, null)
|
||||
intent.setData(uri)
|
||||
startActivity(intent)
|
||||
}
|
||||
.setNegativeButton("取消", null)
|
||||
.show()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -389,30 +542,81 @@ class ModifyDataActivity : BaseActivity<ModifyDataViewModel>() {
|
||||
if (data == null) {
|
||||
return
|
||||
}
|
||||
val tempList: ArrayList<ImageItem>?
|
||||
if (resultCode == ImagePicker.RESULT_CODE_ITEMS) {
|
||||
// val tempList: ArrayList<ImageItem>?
|
||||
// if (resultCode == RESULT_OK && data != null) {
|
||||
// //添加图片返回
|
||||
// if (requestCode == REQUEST_CODE_SELECT) {
|
||||
//// tempList =
|
||||
//// data.getSerializableExtra(ImagePicker.EXTRA_RESULT_ITEMS) as ArrayList<ImageItem>?
|
||||
// tempList = PictureSelector.obtainSelectorList(data) as ArrayList<ImageItem>?
|
||||
// if (tempList == null) {
|
||||
// return
|
||||
// }
|
||||
// selImageList.clear()
|
||||
// selImageList.addAll(tempList)
|
||||
// if (selImageList.size > 0) {
|
||||
// Glide.with(this).load(selImageList[0].path).into(head_image)
|
||||
// }
|
||||
// } else if (requestCode == REQUEST_CODE_SELEC2) {
|
||||
// tempList =
|
||||
// data.getSerializableExtra(ImagePicker.EXTRA_RESULT_ITEMS) as ArrayList<ImageItem>?
|
||||
// if (tempList == null) {
|
||||
// return
|
||||
// }
|
||||
//
|
||||
// adapter.data.clear()
|
||||
// for (i in tempList.indices) {
|
||||
// imageListAll1.add(ImageItems(1, tempList[i]))
|
||||
// }
|
||||
//
|
||||
// imageListAll2 = imageListAll1
|
||||
// if (imageListAll2.size < maxSelectNum) {
|
||||
// imageListAll2.add(ImageItems(2, ImageItem()))
|
||||
// }
|
||||
//
|
||||
// adapter.setNewData(imageListAll2)
|
||||
// }
|
||||
// }
|
||||
if (resultCode == RESULT_OK && data != null) {
|
||||
//添加图片返回
|
||||
if (requestCode == REQUEST_CODE_SELECT) {
|
||||
tempList =
|
||||
data.getSerializableExtra(ImagePicker.EXTRA_RESULT_ITEMS) as ArrayList<ImageItem>?
|
||||
if (tempList == null) {
|
||||
return
|
||||
}
|
||||
// 处理 PictureSelector 返回的结果
|
||||
val localMediaList: ArrayList<LocalMedia> = PictureSelector.obtainSelectorList(data)
|
||||
|
||||
// 清空原有选择
|
||||
selImageList.clear()
|
||||
selImageList.addAll(tempList)
|
||||
|
||||
// 将 LocalMedia 转换为 ImageItem
|
||||
for (localMedia in localMediaList) {
|
||||
val imageItem = ImageItem()
|
||||
imageItem.path = localMedia.realPath // 或者使用 localMedia.compressPath
|
||||
|
||||
selImageList.add(imageItem)
|
||||
}
|
||||
|
||||
if (selImageList.size > 0) {
|
||||
Glide.with(this).load(selImageList[0].path).into(head_image)
|
||||
}
|
||||
} else if (requestCode == REQUEST_CODE_SELEC2) {
|
||||
tempList =
|
||||
data.getSerializableExtra(ImagePicker.EXTRA_RESULT_ITEMS) as ArrayList<ImageItem>?
|
||||
if (tempList == null) {
|
||||
return
|
||||
}
|
||||
// 处理 ImagePicker 返回的结果
|
||||
val localMediaList: ArrayList<LocalMedia> = PictureSelector.obtainSelectorList(data)
|
||||
|
||||
// val tempList = data.getSerializableExtra(ImagePicker.EXTRA_RESULT_ITEMS) as ArrayList<ImageItem>?
|
||||
// if (tempList == null) {
|
||||
// return
|
||||
// }
|
||||
|
||||
|
||||
adapter.data.clear()
|
||||
for (i in tempList.indices) {
|
||||
imageListAll1.add(ImageItems(1, tempList[i]))
|
||||
// for (i in tempList.indices) {
|
||||
// imageListAll1.add(ImageItems(1, tempList[i]))
|
||||
// }
|
||||
tempList.clear()
|
||||
for (localMedia in localMediaList) {
|
||||
val imageItem = ImageItem()
|
||||
imageItem.path = localMedia.realPath
|
||||
tempList.add(imageItem)
|
||||
imageListAll1.add(ImageItems(1, imageItem))
|
||||
}
|
||||
|
||||
imageListAll2 = imageListAll1
|
||||
|
||||
@@ -118,7 +118,7 @@ class JinBiFragment : BaseDataBindingFragment<JinBiViewModel, FragmentJinbiBindi
|
||||
)
|
||||
|
||||
// 将该app注册到微信
|
||||
mWxApi.registerApp("wx3858bffeddfb91b8")
|
||||
mWxApi.registerApp("wx7b5c4e89e726a72c")
|
||||
// 判断是否安装客户端
|
||||
if (!mWxApi.isWXAppInstalled) {
|
||||
"请您先安装微信客户端!".showToast()
|
||||
@@ -126,7 +126,7 @@ class JinBiFragment : BaseDataBindingFragment<JinBiViewModel, FragmentJinbiBindi
|
||||
}
|
||||
val req = PayReq()
|
||||
// 微信开放平台审核通过的应用APPID
|
||||
req.appId = "wx3858bffeddfb91b8"
|
||||
req.appId = "wx7b5c4e89e726a72c"
|
||||
// 微信支付分配的商户号
|
||||
req.partnerId = it.partnerid
|
||||
// 预支付订单号,app服务器调用“统一下单”接口获取
|
||||
|
||||
@@ -63,7 +63,7 @@ class ChangeInviterActivity :
|
||||
)
|
||||
|
||||
// 将该app注册到微信
|
||||
mWxApi.registerApp("wx3858bffeddfb91b8")
|
||||
mWxApi.registerApp("wx7b5c4e89e726a72c")
|
||||
// 判断是否安装客户端
|
||||
if (!mWxApi.isWXAppInstalled) {
|
||||
"请您先安装微信客户端!".showToast()
|
||||
@@ -71,7 +71,7 @@ class ChangeInviterActivity :
|
||||
}
|
||||
val req = PayReq()
|
||||
// 微信开放平台审核通过的应用APPID
|
||||
req.appId = "wx3858bffeddfb91b8"
|
||||
req.appId = "wx7b5c4e89e726a72c"
|
||||
// 微信支付分配的商户号
|
||||
req.partnerId = it.partnerid
|
||||
// 预支付订单号,app服务器调用“统一下单”接口获取
|
||||
|
||||
@@ -20,7 +20,7 @@ public class WXPayEntryActivity extends Activity implements IWXAPIEventHandler {
|
||||
@Override
|
||||
public void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
api = WXAPIFactory.createWXAPI(this, "wx3858bffeddfb91b8", true);
|
||||
api = WXAPIFactory.createWXAPI(this, "wx7b5c4e89e726a72c", true);
|
||||
api.handleIntent(getIntent(), this);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user