leon 1 년 전
부모
커밋
3611e066e4
2개의 변경된 파일22개의 추가작업 그리고 2개의 파일을 삭제
  1. 21 1
      android/app/src/main/java/com/hola/HolaModule.java
  2. 1 1
      src/services/http/api.js

+ 21 - 1
android/app/src/main/java/com/hola/HolaModule.java

@@ -39,6 +39,7 @@ import org.json.JSONException;
 import org.json.JSONObject;
 
 import java.time.LocalTime;
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Calendar;
 import java.util.List;
@@ -131,6 +132,25 @@ public class HolaModule extends ReactContextBaseJavaModule {
         if (getCurrentActivity()==null){
             return;
         }
+
+        //取消历史alarm
+        List<PendingIntent> allPendingIntents = new ArrayList<>();
+        for (int i = 0; i < 10; i++) {
+            int requestCode = i;
+            PendingIntent pendingIntent = PendingIntent.getBroadcast(getCurrentActivity(), requestCode, new Intent(), PendingIntent.FLAG_UPDATE_CURRENT);
+            if (pendingIntent != null) {
+                allPendingIntents.add(pendingIntent);
+            } else {
+                break;
+            }
+        }
+
+        AlarmManager alarmManager = (AlarmManager) getCurrentActivity().getSystemService(Context.ALARM_SERVICE);
+        for (PendingIntent pendingIntent : allPendingIntents) {
+            alarmManager.cancel(pendingIntent);
+        }
+
+
         try {
             JSONArray jsonArray = new JSONArray(jsonData);
             for (int i = 0; i < jsonArray.length(); i++) {
@@ -155,7 +175,7 @@ public class HolaModule extends ReactContextBaseJavaModule {
                 PendingIntent pendingIntent = PendingIntent.getBroadcast(
                         getCurrentActivity(), i, intent, android.app.PendingIntent.FLAG_UPDATE_CURRENT);
 
-                AlarmManager alarmManager = (AlarmManager) getCurrentActivity().getSystemService(Context.ALARM_SERVICE);
+//                AlarmManager alarmManager = (AlarmManager) getCurrentActivity().getSystemService(Context.ALARM_SERVICE);
 
                 AlarmManager.AlarmClockInfo info = alarmManager.getNextAlarmClock();
                 if (info!=null){

+ 1 - 1
src/services/http/api.js

@@ -1,4 +1,4 @@
-const online = process.env.TARO_ENV == 'weapp' ? false : false;
+const online = process.env.TARO_ENV == 'weapp' ? true : false;
 
 import { WX_VERSION as _WX_VERSION, APP_VERSION as _APP_VERSION } from "../../../config/env";