.idea/deploymentTargetDropDown.xml
File was deleted app/src/main/java/com/hdl/photovoltaic/HDLApp.java
@@ -1,12 +1,17 @@ package com.hdl.photovoltaic; import android.Manifest; import android.app.Application; import android.content.pm.PackageManager; import androidx.annotation.NonNull; import com.google.gson.Gson; import com.google.gson.JsonObject; import com.hdl.photovoltaic.other.HdlLogLogic; import com.hdl.photovoltaic.uni.HDLUniMPSDKManager; import com.hdl.photovoltaic.utils.PermissionUtils; import com.hdl.photovoltaic.utils.SharedPreUtils; import java.util.HashMap; @@ -94,4 +99,5 @@ } } app/src/main/java/com/hdl/photovoltaic/config/UserConfigManage.java
@@ -7,6 +7,7 @@ import com.hdl.photovoltaic.other.HdlFileLogic; import com.hdl.photovoltaic.other.HdlLogLogic; import com.hdl.photovoltaic.other.HdlResidenceLogic; import com.hdl.photovoltaic.ui.bean.HouseInfoBean; import com.hdl.photovoltaic.ui.bean.HouseListBean; import java.util.ArrayList; @@ -159,18 +160,18 @@ /** * 当前住宅 */ private HouseListBean m_Home = null; private HouseInfoBean m_Home = null; /** * 当前住宅 */ public HouseListBean home() { public HouseInfoBean home() { if (m_Home != null) { return m_Home; } m_Home = HdlResidenceLogic.getInstance().getHouseByHouseId(homeId); m_Home = HdlResidenceLogic.getInstance().getHouse(homeId); if (m_Home == null) { m_Home = new HouseListBean(); m_Home = new HouseInfoBean(); } return m_Home; } app/src/main/java/com/hdl/photovoltaic/internet/HttpClient.java
@@ -86,7 +86,6 @@ @Override public void run() { try { HdlLogLogic.print("http->发送->", fullUrl + "\r\n" + json); OkHttpClient okHttpClient = new OkHttpClient(); RequestBody requestBody = FormBody.create(MediaType.parse("application/json; charset=utf-8"), getJson(json)); app/src/main/java/com/hdl/photovoltaic/other/HdlResidenceLogic.java
@@ -1,5 +1,9 @@ package com.hdl.photovoltaic.other; import android.os.SystemClock; import android.text.TextUtils; import android.util.Log; import com.google.gson.Gson; import com.google.gson.JsonObject; import com.hdl.photovoltaic.bean.HttpResponsePack; @@ -11,13 +15,19 @@ import com.hdl.photovoltaic.ui.bean.HouseInfoBean; import com.hdl.photovoltaic.ui.bean.HouseListBean; import org.w3c.dom.Text; import java.util.ArrayList; import java.util.List; import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicInteger; /** * 住宅逻辑界面 */ public class HdlResidenceLogic { public static final int pageSize = 50; private static volatile HdlResidenceLogic sHdlResidenceLogic; @@ -59,24 +69,93 @@ //住宅详情列表 private List<HouseInfoBean> houseInfoList = new ArrayList<>(); public HouseListBean getHouseByHouseId(String homeId) { return new HouseListBean(); } /** * 获取住宅列表 * * @param cloudCallBeak - */ public void getHouseList(CloudCallBeak<Boolean> cloudCallBeak) { //获取住宅列表 getResidenceList("", "", new CloudCallBeak<List<HouseListBean>>() { @Override public void onSuccess(List<HouseListBean> houseListBeanList) { if (houseListBeanList != null && houseListBeanList.size() > 0) { houseList.clear(); houseList.addAll(houseListBeanList); //标记最后一条 AtomicInteger atomicInteger = new AtomicInteger(0); for (int i = 0; i < houseList.size(); i++) { HouseListBean houseListBean = houseList.get(i); atomicInteger.set(i); //获取住宅详情列表 getResidenceInfo(houseListBean.getHomeId(), new CloudCallBeak<HouseInfoBean>() { @Override public void onSuccess(HouseInfoBean houseInfoBean) { if (houseInfoBean != null) { houseInfoBean.setHomeImage(houseListBean.getHomeImage());//电站图片 houseInfoBean.setInstalledCapacity(houseListBean.getInstalledCapacity());//装机容量 houseInfoBean.setPower(houseListBean.getPower());//发电功率 houseInfoBean.setTodayElectricity(houseListBean.getTodayElectricity());//今天发电量 houseInfoBean.setPowerStationStatus(houseListBean.getPowerStationStatus());//电站状态(电站状态 1:正常(运行),2:离线,3:连接中,4:故障) //添加到本地缓存 addHouseToLocalMemory(houseInfoBean); } if (atomicInteger.get() == houseList.size() - 1) { //最后一条退出 if (cloudCallBeak != null) { cloudCallBeak.onSuccess(true); } } } @Override public void onFailure(Exception exception) { if (atomicInteger.get() == houseList.size() - 1) { if (cloudCallBeak != null) { cloudCallBeak.onFailure(exception); } } } }); } } else { if (cloudCallBeak != null) { cloudCallBeak.onSuccess(true); } } } @Override public void onFailure(Exception exception) { if (cloudCallBeak != null) { cloudCallBeak.onFailure(exception); } } }); } /** * 获取住宅(电站)列表 * * @param pageNo 当前页数 * @param pageSize 一页大小 * @param pageNo 当前页数 开始默认1 * @param pageSize 一页大小 开始默认50 * @param key 发电功率排序(powerSort);今日发电量排序(todayElectricitySort);创建时间排序(createTimeSort); * @param keyValue (descending:降序ascending:升序), */ public void getResidenceList(int pageNo, int pageSize, CloudCallBeak<Boolean> cloudCallBeak) { public void getResidenceList(int pageNo, int pageSize, String key, String keyValue, CloudCallBeak<Boolean> cloudCallBeak) { if (pageNo == 1) { //第一次进来清空列表 houseList.clear(); } String requestUrl = HttpApi.POST_PowerStation_List; JsonObject json = new JsonObject(); if (!TextUtils.isEmpty(key) && !TextUtils.isEmpty(keyValue)) { json.addProperty(key, keyValue);//发电功率排序(descending:降序ascending:升序) } // json.addProperty("powerSort", "descending");//发电功率排序(descending:降序ascending:升序) // json.addProperty("todayElectricitySort", "descending");//今日发电量排序 // json.addProperty("createTimeSort", "descending");//创建时间排序 @@ -91,6 +170,7 @@ Gson gson = new Gson(); String jsonStr = gson.toJson(httpResponsePack.getData()); HouseInfoBeanClass houseInfoBeanClass = gson.fromJson(jsonStr, HouseInfoBeanClass.class); //添加【住宅】到本地缓存 houseList.addAll(houseInfoBeanClass.getList()); //总共有多少页 long totalPage = houseInfoBeanClass.totalPage; @@ -100,7 +180,14 @@ } return; } getResidenceList(pageNo + 1, 100, cloudCallBeak); if (pageNo > totalPage) { //当前请求的页数大于总页数,云端出错了立即返回去; if (cloudCallBeak != null) { cloudCallBeak.onSuccess(true); } return; } getResidenceList(pageNo + 1, pageSize, key, keyValue, cloudCallBeak); } } @@ -115,6 +202,87 @@ }); } public void getResidenceList(String key, String keyValue, CloudCallBeak<List<HouseListBean>> cloudCallBeak) { String requestUrl = HttpApi.POST_PowerStation_List; JsonObject json = new JsonObject(); if (!TextUtils.isEmpty(key) && !TextUtils.isEmpty(keyValue)) { json.addProperty(key, keyValue);//发电功率排序(descending:降序ascending:升序) } // json.addProperty("powerSort", "descending");//发电功率排序(descending:降序ascending:升序) // json.addProperty("todayElectricitySort", "descending");//今日发电量排序 // json.addProperty("createTimeSort", "descending");//创建时间排序 // json.addProperty("zoneType", "password");//区域 json.addProperty("pageNo", 1);//页码 json.addProperty("pageSize", pageSize);//页数 List<HouseListBean> list = new ArrayList<>(); HttpClient.getInstance().requestHttp(requestUrl, json.toString(), true, true, new BaseSuccessFailureCallBeak() { @Override public void onSuccess(HttpResponsePack httpResponsePack) { if (httpResponsePack != null && httpResponsePack.getData() != null) { Gson gson = new Gson(); String jsonStr = gson.toJson(httpResponsePack.getData()); HouseInfoBeanClass houseInfoBeanClass = gson.fromJson(jsonStr, HouseInfoBeanClass.class); list.addAll(houseInfoBeanClass.getList()); //总共有多少页 long totalPage = houseInfoBeanClass.totalPage; if (totalPage < 2) { if (cloudCallBeak != null) { cloudCallBeak.onSuccess(list); } return; } //标记最后一条 AtomicBoolean isLast = new AtomicBoolean(false); //从第二页获取数据 for (int i = 2; i <= totalPage; i++) { if (totalPage == i) { isLast.set(true); } json.addProperty("pageNo", i);//更新页码 HttpClient.getInstance().requestHttp(requestUrl, json.toString(), true, true, new BaseSuccessFailureCallBeak() { @Override public void onSuccess(HttpResponsePack httpResponsePack) { Gson gson = new Gson(); String jsonStr = gson.toJson(httpResponsePack.getData()); HouseInfoBeanClass houseInfoBeanClass = gson.fromJson(jsonStr, HouseInfoBeanClass.class); list.addAll(houseInfoBeanClass.getList()); if (isLast.get()) { if (cloudCallBeak != null) { cloudCallBeak.onSuccess(list); } } } @Override public void onFailure(Exception exception) { if (isLast.get()) { if (cloudCallBeak != null) { cloudCallBeak.onSuccess(list); } } } }); } } else { if (cloudCallBeak != null) { cloudCallBeak.onSuccess(list); } } } @Override public void onFailure(Exception exception) { if (cloudCallBeak != null) { cloudCallBeak.onFailure(exception); } } }); } /** * 获取住宅(电站)详情 @@ -134,6 +302,7 @@ Gson gson = new Gson(); String jsonStr = gson.toJson(httpResponsePack.getData()); HouseInfoBean houseInfoBean = gson.fromJson(jsonStr, HouseInfoBean.class); if (cloudCallBeak != null) { cloudCallBeak.onSuccess(houseInfoBean); } @@ -153,7 +322,7 @@ /** * 编辑住宅(电站) * 编辑住宅(电站), * * @param houseInfoBean - * @param cloudCallBeak - @@ -232,12 +401,12 @@ } /** * 添加住宅(电站) * 添加住宅(电站)到云端 * * @param houseInfoBean - * @param cloudCallBeak - */ public void addResidence(HouseInfoBean houseInfoBean, CloudCallBeak<Boolean> cloudCallBeak) { public void addHouseToCloud(HouseInfoBean houseInfoBean, CloudCallBeak<Boolean> cloudCallBeak) { String requestUrl = HttpApi.POST_PowerStation_Create; JsonObject json = new JsonObject(); JsonObject location = new JsonObject(); @@ -282,6 +451,87 @@ } /** * 切换住宅 * * @param homeId 住宅id */ public Boolean switchHouse(String homeId) { UserConfigManage.getInstance().setHomeId(homeId); HdlThreadLogic.runThread(new Runnable() { @Override public void run() { //搜索一下住宅设备 } }, null, null); //关闭进度条 return true; } /** * 添加【住宅详情】到本地缓存 * * @param houseInfoBean 住宅详情 */ public void addHouseToLocalMemory(HouseInfoBean houseInfoBean) { if (houseInfoBean == null) { return; } int index = isExistHouse(houseInfoBean.getHomeId()); if (index > -1) { houseInfoList.remove(index); houseInfoList.add(index, houseInfoBean); } else { houseInfoList.add(houseInfoBean); } } /** * 查询本地缓存住宅列表是否存在住宅 * * @param homeId 住宅id * @return 列表索引 */ public int isExistHouse(String homeId) { int index = -1; for (int i = 0; i < houseInfoList.size(); i++) { if (houseInfoList.get(i).getHomeId().equals(homeId)) { index = i; break; } } return index; } /** * 获取住宅详情 * * @param homeId 住宅id * @return 住宅找不到返回null */ public HouseInfoBean getHouse(String homeId) { int position = isExistHouse(homeId); if (position > -1) { return houseInfoList.get(position); } return null; } /** * 删除住宅 * * @param homeId 住宅id */ public void delHouse(String homeId) { int position = isExistHouse(homeId); if (position > -1) { houseInfoList.remove(position); } } static class HouseInfoBeanClass { app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java
@@ -1,10 +1,14 @@ package com.hdl.photovoltaic.other; import android.text.TextUtils; import com.google.gson.Gson; import com.hdl.photovoltaic.HDLApp; import com.hdl.photovoltaic.config.UserConfigManage; import com.hdl.photovoltaic.uni.HDLUniMP; import com.hdl.photovoltaic.uni.HDLUniMPSDKManager; import com.hdl.photovoltaic.utils.WifiUtils; import org.json.JSONObject; @@ -44,19 +48,74 @@ */ @Override public void onOtherUniMPEventReceive(String appId, String event, Object data, DCUniMPJSCallback callback) { if (!HDLUniMP.UNI_APP_ID.equals(appId)) { return; } try { org.json.JSONObject jsonObject = null; if (data != null) { jsonObject = new org.json.JSONObject(data.toString()); if (!HDLUniMP.UNI_APP_ID.equals(appId)) { return; } //住宅模块 if (HDLUniMP.UNI_EVENT_REPLY_HOME_LIST.equals(event)) { String json = data == null ? "{}" : data.toString(); json = json.equals("") ? "{}" : json; org.json.JSONObject jsonObject = new org.json.JSONObject(json); String type_value = ""; if (jsonObject.has("type")) { type_value = jsonObject.getString("type"); } if (HDLUniMP.UNI_EVENT_REPLY_HOME_MODEL.equals(event)) { //住宅模块 switch (type_value) { case HDLUniMP.UNI_EVENT_REPLY_HOME_CREATION: { //创建 HdlResidenceLogic.getInstance().getResidenceList(1, 100, "", "", null); } break; case HDLUniMP.UNI_EVENT_REPLY_HOME_DETAILS: { //详情 } break; } if (callback != null) { uniCallbackData(null, "0", "", callback); } } else if (HDLUniMP.UNI_EVENT_REPLY_DEVICE_MODEL.equals(event)) { //设备模块 switch (type_value) { case HDLUniMP.UNI_EVENT_REPLY_DEVICE_ADD: { //添加 } break; case HDLUniMP.UNI_EVENT_REPLY_DEVICE_LIST: { //获取设备列表 } break; } } else if (HDLUniMP.UNI_EVENT_REPLY_WIFI_MODEL.equals(event)) { WifiUtils wifiUtils = new WifiUtils(HDLApp.getInstance()); //wifi模块 switch (type_value) { case HDLUniMP.UNI_EVENT_REPLY_WIFI_LIST: { //获取wifi列表 if (callback != null) { uniCallbackData(wifiUtils.getScanResult(), "0", "", callback); } } break; case HDLUniMP.UNI_EVENT_REPLY_WIFI_INFO: { //当前wifi详情 if (callback != null) { uniCallbackData(wifiUtils.getCurrentConnectWifiInfo(), "0", "", callback); } } break; case HDLUniMP.UNI_EVENT_REPLY_WIFI_CONNECT: { //wifi连接 } break; } } HdlLogLogic.print("uni===原生接收uni发来的数据", event + "\r\n" + data); } catch (Exception e) { app/src/main/java/com/hdl/photovoltaic/ui/HomeLoginActivity.java
@@ -20,6 +20,9 @@ import androidx.annotation.NonNull; import androidx.appcompat.content.res.AppCompatResources; import com.alibaba.fastjson.JSONObject; import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.hdl.photovoltaic.HDLApp; import com.hdl.photovoltaic.R; import com.hdl.photovoltaic.base.CustomBaseActivity; @@ -33,6 +36,7 @@ import com.hdl.photovoltaic.other.HdlAccountLogic; import com.hdl.photovoltaic.other.HdlThreadLogic; import com.hdl.photovoltaic.ui.device.FastScanActivity; import com.hdl.photovoltaic.uni.HDLUniMP; import com.hdl.photovoltaic.utils.PermissionUtils; import com.hdl.photovoltaic.utils.WifiUtils; @@ -198,27 +202,21 @@ HdlAccountLogic.getInstance().loginByPassword(account, password, new CloudCallBeak<LoginUserBean>() { @Override public void onSuccess(LoginUserBean obj) { HdlThreadLogic.runMainThread(new Runnable() { HdlResidenceLogic.getInstance().getResidenceList(1,50,"","",new CloudCallBeak<Boolean>() { @Override public void run() { HdlResidenceLogic.getInstance().getResidenceList(1, 100, new CloudCallBeak<Boolean>() { @Override public void onSuccess(Boolean obj) { hideLoading(); restoreButtonStyleToInitializeState(); startActivity(MyPowerStationActivity.class); } @Override public void onFailure(Exception exception) { hideLoading(); restoreButtonStyleToInitializeState(); startActivity(MyPowerStationActivity.class); } }); public void onSuccess(Boolean obj) { hideLoading(); restoreButtonStyleToInitializeState(); startActivity(MyPowerStationActivity.class); } }, null, null); @Override public void onFailure(Exception exception) { hideLoading(); restoreButtonStyleToInitializeState(); startActivity(MyPowerStationActivity.class); } }); } @Override @@ -243,12 +241,6 @@ public void onClick(View v) { // requestPermissions(); // startActivity(MyPowerStationActivity.class); HdlThreadLogic.runMainThread(new Runnable() { @Override public void run() { int s = 1 / 0; } }, _mActivity, ShowErrorMode.YES); } }); @@ -298,10 +290,15 @@ * 恢复组件样式到初始化状态 */ private void restoreButtonStyleToInitializeState() { viewBinding.homeLoginLine1V.setBackgroundColor(getColor(R.color.text_E1E1E1)); viewBinding.homeLoginAccountTextErrorTv.setText(""); viewBinding.homeLoginLine2V.setBackgroundColor(getColor(R.color.text_E1E1E1)); viewBinding.homeLoginPasswordTextErrorTv.setText(""); HdlThreadLogic.runMainThread(new Runnable() { @Override public void run() { viewBinding.homeLoginLine1V.setBackgroundColor(getColor(R.color.text_E1E1E1)); viewBinding.homeLoginAccountTextErrorTv.setText(""); viewBinding.homeLoginLine2V.setBackgroundColor(getColor(R.color.text_E1E1E1)); viewBinding.homeLoginPasswordTextErrorTv.setText(""); } }, null, null); } /** @@ -319,33 +316,4 @@ } private void requestPermissions() { String[] ary = PermissionUtils.checkPermission(_mActivity, new String[]{Manifest.permission.ACCESS_FINE_LOCATION}); if (ary.length > 0) { requestPermissions(ary, PermissionUtils.STATUS_SUCCESS); } else { wifi(); } } @Override public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { super.onRequestPermissionsResult(requestCode, permissions, grantResults); if (requestCode == PermissionUtils.STATUS_SUCCESS) { for (int i = 0; i < permissions.length; i++) { if (grantResults[i] == PackageManager.PERMISSION_GRANTED) { wifi(); } } } } public void wifi() { WifiUtils wifiUtils = new WifiUtils(HDLApp.getInstance()); // wifiUtils.getCurrentConnectWifiInfo(); // wifiUtils.getScanResult(); wifiUtils.connectWiFi("Application", "12345678", 3); } } app/src/main/java/com/hdl/photovoltaic/ui/MyPowerStationActivity.java
@@ -81,5 +81,47 @@ } } public void requestPermissions() { String[] ary = PermissionUtils.checkPermission(_mActivity, new String[]{Manifest.permission.ACCESS_FINE_LOCATION}); if (ary.length > 0) { requestPermissions(ary, PermissionUtils.STATUS_SUCCESS); } else { if (mPermissionsResultCallback != null) { mPermissionsResultCallback.succeed(); } } } @Override public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { super.onRequestPermissionsResult(requestCode, permissions, grantResults); if (requestCode == PermissionUtils.STATUS_SUCCESS) { for (int i = 0; i < permissions.length; i++) { if (grantResults[i] == PackageManager.PERMISSION_GRANTED) { if (mPermissionsResultCallback != null) { mPermissionsResultCallback.succeed(); } } } } } private PermissionsResultCallback mPermissionsResultCallback; public void setPermissionsResultCallback(PermissionsResultCallback permissionsResultCallback) { mPermissionsResultCallback = permissionsResultCallback; } public interface PermissionsResultCallback { void succeed(); void failing(); } } app/src/main/java/com/hdl/photovoltaic/ui/StartActivity.java
@@ -1,11 +1,15 @@ package com.hdl.photovoltaic.ui; import androidx.annotation.NonNull; import androidx.appcompat.app.AppCompatActivity; import android.Manifest; import android.content.Intent; import android.content.pm.PackageManager; import android.os.Bundle; import com.hdl.photovoltaic.R; import com.hdl.photovoltaic.utils.PermissionUtils; public class StartActivity extends AppCompatActivity { @@ -21,4 +25,7 @@ } } app/src/main/java/com/hdl/photovoltaic/ui/bean/HouseInfoBean.java
@@ -1,31 +1,20 @@ package com.hdl.photovoltaic.ui.bean; public class HouseInfoBean { private String homeId;//电站id public class HouseInfoBean extends HouseListBean { private Location location;//电站地址 private String address;//详细地址 private String latitude;//纬度 private String longitude;//经度 private String homeName;//电站名称 private String timezone;//时区 private int powerStationType;//电站类型(DOMESTIC_ROOF:家用屋顶,COMMERCIAL_ROOF:商业用屋顶,INDUSTRIAL_ROOF:工业用屋顶,SURFACE_POWER_STATION:地面电站) private int workMode;//工作模式(self_use:自发自用,peak_load_shifting:削峰填谷,battery_priority:电池优先,auto:智能模式) private String installedCapacity;//装机容量 private String powerStationType;//电站类型(DOMESTIC_ROOF:家用屋顶,COMMERCIAL_ROOF:商业用屋顶,INDUSTRIAL_ROOF:工业用屋顶,SURFACE_POWER_STATION:地面电站) private String workMode;//工作模式(self_use:自发自用,peak_load_shifting:削峰填谷,battery_priority:电池优先,auto:智能模式) private long productionTime;//投产日志 private String monetaryUnit;//货币单位 private String electrovalence;//电价 private String totalCost;//总成本 private String zoneType;//区域 public String getHomeId() { return homeId == null ? "" : homeId; } public void setHomeId(String homeId) { this.homeId = homeId; } public Location getLocation() { return location == null ? new Location() : location; @@ -59,13 +48,6 @@ this.longitude = longitude; } public String getHomeName() { return homeName == null ? "" : homeName; } public void setHomeName(String homeName) { this.homeName = homeName; } public String getTimezone() { return timezone == null ? "" : timezone; @@ -75,29 +57,22 @@ this.timezone = timezone; } public int getPowerStationType() { return powerStationType; public String getPowerStationType() { return powerStationType == null ? "" : powerStationType; } public void setPowerStationType(int powerStationType) { public void setPowerStationType(String powerStationType) { this.powerStationType = powerStationType; } public int getWorkMode() { return workMode; public String getWorkMode() { return workMode == null ? "" : workMode; } public void setWorkMode(int workMode) { public void setWorkMode(String workMode) { this.workMode = workMode; } public String getInstalledCapacity() { return installedCapacity == null ? "" : installedCapacity; } public void setInstalledCapacity(String installedCapacity) { this.installedCapacity = installedCapacity; } public long getProductionTime() { return productionTime; app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseListFragment.java
@@ -24,6 +24,7 @@ import com.hdl.photovoltaic.other.HdlResidenceLogic; import com.hdl.photovoltaic.other.HdlThreadLogic; import com.hdl.photovoltaic.other.HdlUniLogic; import com.hdl.photovoltaic.ui.MyPowerStationActivity; import com.hdl.photovoltaic.ui.adapter.HouseInfoAdapter; import com.hdl.photovoltaic.ui.bean.HouseListBean; import com.hdl.photovoltaic.ui.device.FastScanActivity; @@ -72,8 +73,21 @@ viewBinding.toolbarTopFragmentHouseListRl.topMoreIv.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // 打开小程序页面 HdlUniLogic.getInstance().openUniMP(HDLUniMP.UNI_EVENT_OPEN_HOME_CREATION, null); // HdlUniLogic.getInstance().openUniMP(HDLUniMP.UNI_EVENT_OPEN_HOME_CREATION, null); requestPermissions(new PermissionsResultCallback() { @Override public void succeed() { // 打开小程序页面 HdlUniLogic.getInstance().openUniMP(HDLUniMP.UNI_EVENT_OPEN_HOME_CREATION, null); } @Override public void failing() { } }); } }); //设置下拉箭头颜色 @@ -128,12 +142,19 @@ /** * 申请权限 */ private void requestPermissions() { String[] ary = PermissionUtils.checkPermission(_mActivity, new String[]{Manifest.permission.CAMERA}); private void requestPermissions(PermissionsResultCallback permissionsResultCallback) { mPermissionsResultCallback = permissionsResultCallback; //Manifest.permission.CAMERA, String[] s = new String[]{ Manifest.permission.ACCESS_FINE_LOCATION }; String[] ary = PermissionUtils.checkPermission(_mActivity, s); if (ary.length > 0) { requestPermissions(ary, PermissionUtils.STATUS_SUCCESS); } else { startActivity(FastScanActivity.class); if (mPermissionsResultCallback != null) { mPermissionsResultCallback.succeed(); } } } @@ -143,7 +164,9 @@ if (requestCode == PermissionUtils.STATUS_SUCCESS) { for (int i = 0; i < permissions.length; i++) { if (grantResults[i] == PackageManager.PERMISSION_GRANTED) { startActivity(FastScanActivity.class); if (mPermissionsResultCallback != null) { mPermissionsResultCallback.succeed(); } } } @@ -151,4 +174,14 @@ } private PermissionsResultCallback mPermissionsResultCallback; public interface PermissionsResultCallback { void succeed(); void failing(); } }