Commit 4fe6c6e0911ddff1362e2ebd28522b3a02751ae2
Merge branch 'master' of bj.gitlab.cnlive.com:cnlive-team/ModulePedometer
Showing
14 changed files
with
92 additions
and
55 deletions
config.gradle
moudle_pedometer/src/main/java/com/cnlive/moudle/collectionTrace/frame/view/CollRunningMapFragmentView.java
| ... | ... | @@ -303,8 +303,8 @@ public class CollRunningMapFragmentView implements MvpView, SensorEventListener |
| 303 | 303 | public void onClick(View view) { |
| 304 | 304 | //先获取打点数量 |
| 305 | 305 | int canTakePointCount = CollStepUtil.getCollImportPointSize(getContext(), CollCommonInfo.getUserId(getContext())); |
| 306 | - if (0 == canTakePointCount) { | |
| 307 | - AlertUtil.showDeftToast(getContext(), "您尚未打点,请打点后结束"); | |
| 306 | + if (canTakePointCount<2) { | |
| 307 | + AlertUtil.showDeftToast(getContext(), "请至少打两个点后结束"); | |
| 308 | 308 | } else { |
| 309 | 309 | if (null != followMyLocation) { |
| 310 | 310 | currentImportLatLng = new LatLng(followMyLocation.latitude, followMyLocation.longitude); |
| ... | ... | @@ -653,28 +653,31 @@ public class CollRunningMapFragmentView implements MvpView, SensorEventListener |
| 653 | 653 | fragment.binding.ivGpsState.setBackground(getContext().getResources().getDrawable(R.drawable.rt_training_gps_3)); |
| 654 | 654 | } |
| 655 | 655 | } |
| 656 | - if (followMyLocation == null || followMyLocation.latitude == 0 || followMyLocation.longitude == 0) { | |
| 656 | + //过滤定位精度 | |
| 657 | + if (location.getRadius() > Constant.LOCA_ACCURACY) { | |
| 657 | 658 | return; |
| 658 | 659 | } |
| 659 | - MapStatus.Builder builder = new MapStatus.Builder(); | |
| 660 | - mCurrentAccracy = location.getRadius(); | |
| 661 | - followMyLocation = new MyLocationData.Builder() | |
| 662 | - .accuracy(location.getRadius()) | |
| 663 | - // 此处设置开发者获取到的方向信息,顺时针0-360 | |
| 664 | - .direction(mCurrentDirection).latitude(location.getLatitude()) | |
| 665 | - .longitude(location.getLongitude()).build(); | |
| 666 | 660 | //第一次定位 |
| 667 | 661 | if (isFirstLoc) { |
| 668 | 662 | isFirstLoc = false; |
| 663 | + mCurrentAccracy = location.getRadius(); | |
| 664 | + followMyLocation = new MyLocationData.Builder() | |
| 665 | + .accuracy(location.getRadius()) | |
| 666 | + // 此处设置开发者获取到的方向信息,顺时针0-360 | |
| 667 | + .direction(mCurrentDirection).latitude(location.getLatitude()) | |
| 668 | + .longitude(location.getLongitude()).build(); | |
| 669 | 669 | baiduMap.setMyLocationData(followMyLocation); |
| 670 | + MapStatus.Builder builder = new MapStatus.Builder(); | |
| 670 | 671 | builder.target(new LatLng(followMyLocation.latitude, followMyLocation.longitude)).zoom(DEFULT_ZOOM); |
| 671 | 672 | baiduMap.animateMapStatus(MapStatusUpdateFactory.newMapStatus(builder.build())); |
| 672 | 673 | } else { |
| 673 | 674 | //不是第一次定位状态 |
| 674 | - //过滤定位精度 | |
| 675 | - if (location.getRadius() > Constant.LOCA_ACCURACY) { | |
| 676 | - return; | |
| 677 | - } | |
| 675 | + mCurrentAccracy = location.getRadius(); | |
| 676 | + followMyLocation = new MyLocationData.Builder() | |
| 677 | + .accuracy(location.getRadius()) | |
| 678 | + // 此处设置开发者获取到的方向信息,顺时针0-360 | |
| 679 | + .direction(mCurrentDirection).latitude(location.getLatitude()) | |
| 680 | + .longitude(location.getLongitude()).build(); | |
| 678 | 681 | if (null != currentWalkPoints) { |
| 679 | 682 | if (currentWalkPoints.size() > 0) { |
| 680 | 683 | //进行判断 |
| ... | ... | @@ -689,7 +692,6 @@ public class CollRunningMapFragmentView implements MvpView, SensorEventListener |
| 689 | 692 | currentWalkPoints.add(new LatLng(location.getLatitude(), |
| 690 | 693 | location.getLongitude())); |
| 691 | 694 | } |
| 692 | - | |
| 693 | 695 | //判断当前集合列表是否可以划线(至少两个点) |
| 694 | 696 | if (currentWalkPoints != null && currentWalkPoints.size() > 1) { |
| 695 | 697 | //判断当前是否已经在地图上画点 | ... | ... |
moudle_pedometer/src/main/java/com/cnlive/moudle/collectionTrace/frame/view/CollTraceListDetailFragmentView.java
| ... | ... | @@ -204,7 +204,7 @@ public class CollTraceListDetailFragmentView implements MvpView, OnFenceListener |
| 204 | 204 | startLocation.setPointName(eventShoeLinesBean.getStartLocation()); |
| 205 | 205 | startLocation.setLatitude(0); |
| 206 | 206 | startLocation.setLongitude(0); |
| 207 | - }else { | |
| 207 | + } else { | |
| 208 | 208 | startLocation = new CollectPoint(); |
| 209 | 209 | startLocation.setPointName(""); |
| 210 | 210 | startLocation.setLatitude(0); |
| ... | ... | @@ -217,7 +217,7 @@ public class CollTraceListDetailFragmentView implements MvpView, OnFenceListener |
| 217 | 217 | endLocation.setPointName(eventShoeLinesBean.getEndLocation()); |
| 218 | 218 | endLocation.setLatitude(0); |
| 219 | 219 | endLocation.setLongitude(0); |
| 220 | - }else { | |
| 220 | + } else { | |
| 221 | 221 | endLocation = new CollectPoint(); |
| 222 | 222 | endLocation.setPointName(""); |
| 223 | 223 | endLocation.setLatitude(0); |
| ... | ... | @@ -253,7 +253,7 @@ public class CollTraceListDetailFragmentView implements MvpView, OnFenceListener |
| 253 | 253 | //设置用户头像 |
| 254 | 254 | if (!TextUtils.isEmpty(eventShoeLinesBean.getUserMsg().getImage())) { |
| 255 | 255 | GlideApp.with(getContext()).load(eventShoeLinesBean.getUserMsg().getImage()).into(fragment.binding.includeFinishUserInfo.qmIvIcon); |
| 256 | - }else { | |
| 256 | + } else { | |
| 257 | 257 | GlideApp.with(getContext()).load(getContext().getResources().getString(R.string.default_face_url)).into(fragment.binding.includeFinishUserInfo.qmIvIcon); |
| 258 | 258 | } |
| 259 | 259 | //设置用户行走公里 |
| ... | ... | @@ -414,7 +414,7 @@ public class CollTraceListDetailFragmentView implements MvpView, OnFenceListener |
| 414 | 414 | if (5102 == createFenceResponse.getStatus()) { |
| 415 | 415 | QMUITipDialogUtil.dismessDialog(); |
| 416 | 416 | QMUITipDialogUtil.failedDialog(fragment.getActivity(), createFenceResponse.getMessage(), 1); |
| 417 | - } else { | |
| 417 | + } else if (0 == createFenceResponse.getStatus()) { | |
| 418 | 418 | if (null != eventShoeLinesBean) { |
| 419 | 419 | QMUITipDialogUtil.dismessDialog(); |
| 420 | 420 | if (null == fragment.getPresenter() || null == getContext()) { |
| ... | ... | @@ -422,6 +422,9 @@ public class CollTraceListDetailFragmentView implements MvpView, OnFenceListener |
| 422 | 422 | } |
| 423 | 423 | fragment.getPresenter().bindingShoeLine(getContext(), eventShoeLinesBean.getId(), eventShoeLinesBean.getEventId(), createFenceResponse.getFenceId() + "", eventShoeLinesBean.getEventName(), position); |
| 424 | 424 | } |
| 425 | + } else { | |
| 426 | + QMUITipDialogUtil.dismessDialog(); | |
| 427 | + QMUITipDialogUtil.failedDialog(fragment.getActivity(), createFenceResponse.getMessage(), 1); | |
| 425 | 428 | } |
| 426 | 429 | } |
| 427 | 430 | ... | ... |
moudle_pedometer/src/main/java/com/cnlive/moudle/collectionTrace/frame/view/StartTraceFragmentView.java
| ... | ... | @@ -347,8 +347,6 @@ public class StartTraceFragmentView implements MvpView, SensorEventListener { |
| 347 | 347 | option.setCoorType("gcj02"); // 设置坐标类型 |
| 348 | 348 | //可选,默认false,设置是否开启Gps定位 |
| 349 | 349 | option.setOpenGps(true); |
| 350 | - //设置打开自动回调位置模式,该开关打开后,期间只要定位SDK检测到位置变化就会主动回调给开发者,该模式下开发者无需再关心定位间隔是多少,定位SDK本身发现位置变化就会及时回调给开发者 | |
| 351 | - option.setOpenAutoNotifyMode(); | |
| 352 | 350 | //可选,默认高精度,设置定位模式,高精度,低功耗,仅设备 |
| 353 | 351 | option.setLocationMode(LocationClientOption.LocationMode.Hight_Accuracy); |
| 354 | 352 | //可选,设置是否需要地址信息,默认不需要 | ... | ... |
moudle_pedometer/src/main/java/com/cnlive/moudle/collectionTrace/receivers/CollServiceReceiver.java
| ... | ... | @@ -4,6 +4,7 @@ import android.annotation.SuppressLint; |
| 4 | 4 | import android.content.BroadcastReceiver; |
| 5 | 5 | import android.content.Context; |
| 6 | 6 | import android.content.Intent; |
| 7 | +import android.media.AudioManager; | |
| 7 | 8 | import android.os.Build; |
| 8 | 9 | import android.os.PowerManager; |
| 9 | 10 | import android.util.Log; |
| ... | ... | @@ -35,6 +36,9 @@ public class CollServiceReceiver extends BroadcastReceiver { |
| 35 | 36 | @Override |
| 36 | 37 | public void onReceive(Context context, Intent intent) { |
| 37 | 38 | Log.e(TAG, "接收到广播:" + intent.getAction()); |
| 39 | + if (null!=context){ | |
| 40 | + initSound(context); | |
| 41 | + } | |
| 38 | 42 | //todo 这里判断要保活的服务 |
| 39 | 43 | boolean isRunStepService = CollCommonInfo.getIsRunStepService(context); |
| 40 | 44 | if (isRunStepService) { |
| ... | ... | @@ -97,7 +101,16 @@ public class CollServiceReceiver extends BroadcastReceiver { |
| 97 | 101 | |
| 98 | 102 | } |
| 99 | 103 | } |
| 100 | - | |
| 104 | + private void initSound(Context context) { | |
| 105 | + try { | |
| 106 | + AudioManager audioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE); | |
| 107 | + int currentVolume = audioManager.getStreamVolume(AudioManager.STREAM_MUSIC); | |
| 108 | + if (0 == currentVolume) { | |
| 109 | + audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, 1, AudioManager.FLAG_PLAY_SOUND); | |
| 110 | + } | |
| 111 | + } catch (Exception e) { | |
| 112 | + } | |
| 113 | + } | |
| 101 | 114 | // /** |
| 102 | 115 | // * 发送关闭广播 |
| 103 | 116 | // */ | ... | ... |
moudle_pedometer/src/main/java/com/cnlive/moudle/collectionTrace/ui/activity/CollRunRaceDetailActivity.java
| ... | ... | @@ -71,7 +71,7 @@ public class CollRunRaceDetailActivity extends QMUIFragmentActivity { |
| 71 | 71 | super.onResume(); |
| 72 | 72 | boolean isSet = CheckUtil.isIgnoringBatteryOptimizationss(this); |
| 73 | 73 | if (!isSet) { |
| 74 | - isSet = CheckUtil.isIgnoringBatteryOptimizationss(this); | |
| 74 | + CheckUtil.toSetIgnore(this); | |
| 75 | 75 | } |
| 76 | 76 | |
| 77 | 77 | } | ... | ... |
moudle_pedometer/src/main/java/com/cnlive/moudle/collectionTrace/ui/activity/StartCollectTraceActivity.java
| ... | ... | @@ -75,11 +75,13 @@ public class StartCollectTraceActivity extends QMUIFragmentActivity { |
| 75 | 75 | } else { |
| 76 | 76 | boolean isSetBattery = CheckUtil.isIgnoringBatteryOptimizationss(StartCollectTraceActivity.this); |
| 77 | 77 | if (!isSetBattery) { |
| 78 | - isSetBattery = CheckUtil.isIgnoringBatteryOptimizationss(StartCollectTraceActivity.this); | |
| 78 | + CheckUtil.toSetIgnore(this); | |
| 79 | 79 | } else { |
| 80 | 80 | getPermissionsWithTip(); |
| 81 | 81 | } |
| 82 | 82 | } |
| 83 | + } else { | |
| 84 | + NotificationUtil.goToSettingNo(this); | |
| 83 | 85 | } |
| 84 | 86 | } |
| 85 | 87 | ... | ... |
moudle_pedometer/src/main/java/com/cnlive/moudle/pedometer/frame/view/RegistrationInfoView.java
| ... | ... | @@ -135,7 +135,7 @@ public class RegistrationInfoView implements MvpView, OnDateSetListener { |
| 135 | 135 | if(millseconds < System.currentTimeMillis()){ |
| 136 | 136 | String birthday = DateTimeUtil.formatDateTime(millseconds, "yyyy-MM-dd"); |
| 137 | 137 | CommonInfo.setBirthday(fragment.getActivity(),birthday,userId); |
| 138 | - fragment.binding.birthday.setText(DateTimeUtil.formatDateTime(millseconds, "yyyy-MM-dd")); | |
| 138 | + fragment.binding.birthday.setText(birthday); | |
| 139 | 139 | }else { |
| 140 | 140 | AlertUtil.showDeftToast(fragment.getActivity(),"无法选择该日期"); |
| 141 | 141 | } | ... | ... |
moudle_pedometer/src/main/java/com/cnlive/moudle/pedometer/frame/view/RunMainFragmentView.java
| ... | ... | @@ -641,8 +641,7 @@ public class RunMainFragmentView implements MvpView { |
| 641 | 641 | Log.e(TAG, "setSQLPauseTime: "); |
| 642 | 642 | // if (needWriteDataFlag) { |
| 643 | 643 | //将当前计时器时间戳写入数据库 |
| 644 | - if (!TextUtils.isEmpty(id)) { | |
| 645 | - UserStepEntity userStepEntity = StepUtil.getUserStepData(fragment.getActivity(), uid); | |
| 644 | + UserStepEntity userStepEntity = StepUtil.getUserStepData(fragment.getActivity(), id); | |
| 646 | 645 | if (userStepEntity != null) { |
| 647 | 646 | userStepEntity.setChronometerBase(fragment.binding.chronometer.getBase()); |
| 648 | 647 | //设置当前暂停的时间戳 |
| ... | ... | @@ -654,7 +653,6 @@ public class RunMainFragmentView implements MvpView { |
| 654 | 653 | //更新数据 |
| 655 | 654 | StepUtil.updateStepData(fragment.getActivity(), userStepEntity); |
| 656 | 655 | } |
| 657 | - } | |
| 658 | 656 | // } |
| 659 | 657 | } |
| 660 | 658 | ... | ... |
moudle_pedometer/src/main/java/com/cnlive/moudle/pedometer/frame/view/RunningMapFragmentView.java
| ... | ... | @@ -397,7 +397,7 @@ public class RunningMapFragmentView implements MvpView, SensorEventListener { |
| 397 | 397 | MapStatus.Builder builder = new MapStatus.Builder(); |
| 398 | 398 | //不是第一次定位状态 |
| 399 | 399 | if (!isFirstLoc) { |
| 400 | - if (currentPoints.size() > 0) { | |
| 400 | + if (null != currentPoints && currentPoints.size() > 0) { | |
| 401 | 401 | //进行判断 |
| 402 | 402 | LatLng lastLatLng = currentPoints.get(currentPoints.size() - 1); |
| 403 | 403 | LatLng curLatLng = new LatLng(location.getLatitude(), | ... | ... |
moudle_pedometer/src/main/java/com/cnlive/moudle/pedometer/receivers/ServiceReceiver.java
| ... | ... | @@ -4,6 +4,7 @@ import android.annotation.SuppressLint; |
| 4 | 4 | import android.content.BroadcastReceiver; |
| 5 | 5 | import android.content.Context; |
| 6 | 6 | import android.content.Intent; |
| 7 | +import android.media.AudioManager; | |
| 7 | 8 | import android.os.Build; |
| 8 | 9 | import android.os.PowerManager; |
| 9 | 10 | import android.util.Log; |
| ... | ... | @@ -36,6 +37,9 @@ public class ServiceReceiver extends BroadcastReceiver { |
| 36 | 37 | @Override |
| 37 | 38 | public void onReceive(Context context, Intent intent) { |
| 38 | 39 | Log.e(TAG, "接收到广播:" + intent.getAction()); |
| 40 | + if (null != context) { | |
| 41 | + initSound(context); | |
| 42 | + } | |
| 39 | 43 | //todo 这里判断要保活的服务 |
| 40 | 44 | boolean isRunStepService = CommonInfo.getIsRunStepService(context); |
| 41 | 45 | if (isRunStepService) { |
| ... | ... | @@ -45,7 +49,7 @@ public class ServiceReceiver extends BroadcastReceiver { |
| 45 | 49 | } else { |
| 46 | 50 | context.startService(new Intent(context, StepService.class)); |
| 47 | 51 | } |
| 48 | - }else { | |
| 52 | + } else { | |
| 49 | 53 | Log.e(TAG, "计步服务已经在运行"); |
| 50 | 54 | |
| 51 | 55 | } |
| ... | ... | @@ -56,7 +60,7 @@ public class ServiceReceiver extends BroadcastReceiver { |
| 56 | 60 | if (StepService.mClient != null && StepService.mTrace != null && StepService.traceListener != null) { |
| 57 | 61 | StepService.mClient.startTrace(StepService.mTrace, StepService.traceListener); |
| 58 | 62 | } |
| 59 | - }else { | |
| 63 | + } else { | |
| 60 | 64 | Log.e(TAG, "鹰眼服务已经在运行"); |
| 61 | 65 | |
| 62 | 66 | } |
| ... | ... | @@ -99,6 +103,16 @@ public class ServiceReceiver extends BroadcastReceiver { |
| 99 | 103 | } |
| 100 | 104 | } |
| 101 | 105 | |
| 106 | + private void initSound(Context context) { | |
| 107 | + try { | |
| 108 | + AudioManager audioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE); | |
| 109 | + int currentVolume = audioManager.getStreamVolume(AudioManager.STREAM_MUSIC); | |
| 110 | + if (0 == currentVolume) { | |
| 111 | + audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, 1, AudioManager.FLAG_PLAY_SOUND); | |
| 112 | + } | |
| 113 | + } catch (Exception e) { | |
| 114 | + } | |
| 115 | + } | |
| 102 | 116 | // /** |
| 103 | 117 | // * 发送关闭广播 |
| 104 | 118 | // */ | ... | ... |
moudle_pedometer/src/main/java/com/cnlive/moudle/pedometer/ui/activity/RunRaceDetailActivity.java
| ... | ... | @@ -142,11 +142,13 @@ public class RunRaceDetailActivity extends QMUIFragmentActivity { |
| 142 | 142 | } else { |
| 143 | 143 | boolean isSetBattery = CheckUtil.isIgnoringBatteryOptimizationss(RunRaceDetailActivity.this); |
| 144 | 144 | if (!isSetBattery) { |
| 145 | - isSetBattery = CheckUtil.isIgnoringBatteryOptimizationss(RunRaceDetailActivity.this); | |
| 145 | + CheckUtil.toSetIgnore(this); | |
| 146 | 146 | } else { |
| 147 | 147 | getPermissionsWithTip(); |
| 148 | 148 | } |
| 149 | 149 | } |
| 150 | + }else { | |
| 151 | + NotificationUtil.goToSettingNo(this); | |
| 150 | 152 | } |
| 151 | 153 | |
| 152 | 154 | } | ... | ... |
moudle_pedometer/src/main/java/com/cnlive/moudle/pedometer/utils/CheckUtil.java
| ... | ... | @@ -7,6 +7,7 @@ import android.content.pm.PackageManager; |
| 7 | 7 | import android.net.Uri; |
| 8 | 8 | import android.os.PowerManager; |
| 9 | 9 | import android.provider.Settings; |
| 10 | +import android.widget.Toast; | |
| 10 | 11 | |
| 11 | 12 | import com.cnlive.libs.base.util.AlertUtil; |
| 12 | 13 | |
| ... | ... | @@ -21,27 +22,34 @@ public class CheckUtil { |
| 21 | 22 | * @return |
| 22 | 23 | */ |
| 23 | 24 | public static boolean isIgnoringBatteryOptimizationss(Activity context) { |
| 24 | - String carrier = android.os.Build.MANUFACTURER; | |
| 25 | - if (!"smartisan".equals(carrier)) { | |
| 26 | - PowerManager powerManager = (PowerManager) context.getSystemService(POWER_SERVICE); | |
| 27 | - if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M) { | |
| 28 | - boolean hasIgnored = powerManager.isIgnoringBatteryOptimizations(context.getPackageName()); | |
| 29 | - if (!hasIgnored) { | |
| 30 | - Intent intent = new Intent(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS); | |
| 31 | - intent.setData(Uri.parse("package:" + context.getPackageName())); | |
| 32 | - PackageManager pm = context.getPackageManager(); | |
| 33 | - if (intent.resolveActivity(pm) != null) { | |
| 34 | - context.startActivity(intent); | |
| 35 | - } | |
| 36 | - AlertUtil.showDeftToast(context, "请选择允许加入电池优化白名单,否则将会影响您的正常使用!"); | |
| 37 | - return false; | |
| 38 | - } else { | |
| 39 | - return true; | |
| 25 | + try { | |
| 26 | + String carrier = android.os.Build.MANUFACTURER; | |
| 27 | + if (!"smartisan".equals(carrier)) { | |
| 28 | + PowerManager powerManager = (PowerManager) context.getSystemService(POWER_SERVICE); | |
| 29 | + if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M) { | |
| 30 | + boolean hasIgnored = powerManager.isIgnoringBatteryOptimizations(context.getPackageName()); | |
| 31 | + return hasIgnored; | |
| 40 | 32 | } |
| 33 | + } else { | |
| 34 | + return true; | |
| 41 | 35 | } |
| 42 | - } else { | |
| 36 | + return false; | |
| 37 | + } catch (Exception e) { | |
| 43 | 38 | return true; |
| 44 | 39 | } |
| 45 | - return false; | |
| 40 | + } | |
| 41 | + | |
| 42 | + public static void toSetIgnore(Activity context) { | |
| 43 | + try { | |
| 44 | + Intent intent = new Intent(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS); | |
| 45 | + intent.setData(Uri.parse("package:" + context.getPackageName())); | |
| 46 | + PackageManager pm = context.getPackageManager(); | |
| 47 | + if (intent.resolveActivity(pm) != null) { | |
| 48 | + context.startActivity(intent); | |
| 49 | + AlertUtil.showDeftToast(context, "请选择允许加入电池优化白名单,否则将会影响您的正常使用!"); | |
| 50 | + | |
| 51 | + } | |
| 52 | + } catch (Exception e) { | |
| 53 | + } | |
| 46 | 54 | } |
| 47 | 55 | } | ... | ... |
moudle_pedometer/src/main/java/com/cnlive/moudle/pedometer/utils/NotificationUtil.java
| ... | ... | @@ -20,13 +20,10 @@ public class NotificationUtil { |
| 20 | 20 | //监测通知权限是否打开 |
| 21 | 21 | notificationManagerCompat = NotificationManagerCompat.from(activity); |
| 22 | 22 | isOpen = notificationManagerCompat.areNotificationsEnabled(); |
| 23 | - if (!isOpen) { | |
| 24 | - goToSettingNo(activity); | |
| 25 | - } | |
| 26 | 23 | return isOpen; |
| 27 | 24 | } |
| 28 | 25 | |
| 29 | - private static void goToSettingNo(Activity activity) { | |
| 26 | + public static void goToSettingNo(Activity activity) { | |
| 30 | 27 | Toast.makeText(activity, "您尚未开启通知权限,无法进行计步", Toast.LENGTH_LONG).show(); |
| 31 | 28 | Intent intent1 = new Intent(); |
| 32 | 29 | try { | ... | ... |