Commit fbacfa96 authored by 杨秀秀's avatar 杨秀秀

基础搭建

功能开发
正式版:添加相机权限申请
parent 20094435
......@@ -54,7 +54,6 @@ android {
debug {
minifyEnabled false
debuggable true
signingConfig signingConfigs.reseale
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
buildConfigField "String", "URL", URL_DEBUG
buildConfigField "String", "URL_H5", URL_DEBUG_H5
......
......@@ -23,14 +23,19 @@ android {
}
namespace 'com.xx.hbhconsumer'
compileSdk 31
android.applicationVariants.all {
variant ->
variant.outputs.all {
//这里修改apk文件名
outputFileName = "consumer_v${defaultConfig.versionName}_${buildType.name}.apk"
}
}
defaultConfig {
applicationId "com.xx.hbhconsumer"
minSdk 23
targetSdk 31
versionCode 1
versionName "1.0.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
signingConfig signingConfigs.release
}
......
......@@ -121,6 +121,7 @@
android:background="@drawable/bg_top_radius_12"
android:paddingLeft="13dp"
android:paddingTop="13dp"
android:visibility="gone"
android:paddingRight="13dp"
binding:onClickCommand="@{mineViewModel.goMyComment}">
......
......@@ -27,6 +27,7 @@ dependencies {
api rootProject.ext.support["support-v4"]
api rootProject.ext.support["appcompat-v7"]
api rootProject.ext.support["recyclerview-v7"]
//rxjava
/* api rootProject.ext.dependencies.rxjava
api rootProject.ext.dependencies.rxandroid*/
......@@ -77,5 +78,7 @@ dependencies {
api rootProject.ext.dependencies["lifecycle-extensions"]
annotationProcessor rootProject.ext.dependencies["lifecycle-compiler"]
api "com.github.tbruyelle:rxpermissions:0.12"
}
package me.goldze.mvvmhabit.base;
import android.Manifest;
import android.app.ActivityManager;
import android.app.DatePickerDialog;
import android.content.BroadcastReceiver;
......@@ -12,6 +13,7 @@ import android.widget.DatePicker;
import com.afollestad.materialdialogs.MaterialDialog;
import com.huantansheng.easyphotos.EasyPhotos;
import com.huantansheng.easyphotos.callback.SelectCallback;
import com.tbruyelle.rxpermissions3.RxPermissions;
import com.trello.rxlifecycle4.components.support.RxAppCompatActivity;
import java.lang.reflect.ParameterizedType;
......@@ -31,6 +33,8 @@ import androidx.lifecycle.Observer;
import androidx.lifecycle.ViewModel;
import androidx.lifecycle.ViewModelProviders;
import io.reactivex.rxjava3.annotations.NonNull;
import io.reactivex.rxjava3.disposables.Disposable;
import me.goldze.mvvmhabit.base.BaseViewModel.ParameterField;
import me.goldze.mvvmhabit.bus.Messenger;
......@@ -57,10 +61,11 @@ public abstract class BaseActivity<V extends ViewDataBinding, VM extends BaseVie
private MaterialDialog dialog;
private NUllDialog nullDialog;
RxPermissions rp;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
rp =new RxPermissions(this);
//页面接受的参数方法
initParam();
//私有的初始化Databinding和ViewModel方法
......@@ -198,13 +203,41 @@ public abstract class BaseActivity<V extends ViewDataBinding, VM extends BaseVie
viewModel.getUC().getStartPhotoEvent().observe(this, new Observer<Map<String, Object>>() {
@Override
public void onChanged(Map<String, Object> o) {
boolean hasCamera = (boolean) o.get("hasCamera");
int maxCount = (int) o.get("maxCount");
if (o.get("maxCount") == null) {
maxCount = 1;
}
SelectCallback callback = (SelectCallback) o.get("callBack");
startPhoto(hasCamera, maxCount, callback);
rp.request(Manifest.permission.CAMERA,Manifest.permission.READ_EXTERNAL_STORAGE).subscribe(new io.reactivex.rxjava3.core.Observer<Boolean>() {
@Override
public void onSubscribe(@NonNull Disposable d) {
}
@Override
public void onNext(@NonNull Boolean aBoolean) {
if (aBoolean)
{
boolean hasCamera = (boolean) o.get("hasCamera");
int maxCount = (int) o.get("maxCount");
if (o.get("maxCount") == null) {
maxCount = 1;
}
SelectCallback callback = (SelectCallback) o.get("callBack");
startPhoto(hasCamera, maxCount, callback);
}else {
ToastUtils.showShort("请开启拍照,和文件读取权限,否则无法正常使用完整功能");
}
}
@Override
public void onError(@NonNull Throwable e) {
}
@Override
public void onComplete() {
}
});
}
});
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment