Browse Source

修改MyPushService中向服务器发送token刷新请求方法

tubinyan 5 years ago
parent
commit
4d2c477f47

+ 21 - 24
app/src/main/java/cn/seecoder/courselearningdemo/service/MyPushService.java

@@ -25,11 +25,17 @@ import com.huawei.hms.push.SendException;
 
 import java.util.Arrays;
 
+import cn.seecoder.courselearningdemo.dao.UserDao;
+import cn.seecoder.courselearningdemo.model.ResultVO;
+import cn.seecoder.courselearningdemo.network.RetrofitClient;
 import cn.seecoder.courselearningdemo.utils.LogUtil;
+import cn.seecoder.courselearningdemo.utils.StringUtil;
+import retrofit2.Call;
+import retrofit2.Callback;
+import retrofit2.Response;
 
 public class MyPushService extends HmsMessageService {
     private static final String TAG = "MyPushService";
-    private final static String CODELABS_ACTION = "com.example.codelabpush.action";
 
     /**
      * When an app calls the getToken method to apply for a token from the server,
@@ -45,16 +51,21 @@ public class MyPushService extends HmsMessageService {
             // This method callback must be completed in 10 seconds. Otherwise, you need to start a new Job for callback processing.
             refreshedTokenToServer(token);
         }
-
-        Intent intent = new Intent();
-        intent.setAction(CODELABS_ACTION);
-        intent.putExtra("method", "onNewToken");
-        intent.putExtra("msg", "onNewToken called, token: " + token);
-
-        sendBroadcast(intent);
     }
     private void refreshedTokenToServer(String token) {
-        LogUtil.i(TAG, "sending token to server. token:" + token);
+        if(UserDao.getUser() == null || !StringUtil.hasText(UserDao.getUser().getUid())) return;
+        Call<ResultVO<String>> refreshUserTokenCall = RetrofitClient.userService.refreshUserToken(UserDao.getUser().getUid(), token);
+        refreshUserTokenCall.enqueue(new Callback<ResultVO<String>>() {
+            @Override
+            public void onResponse(Call call, Response response) {
+                LogUtil.i("refreshUserToken", "success");
+            }
+
+            @Override
+            public void onFailure(Call call, Throwable t) {
+                LogUtil.i("refreshUserToken", "fail");
+            }
+        });
     }
 
     /**
@@ -127,7 +138,6 @@ public class MyPushService extends HmsMessageService {
         }
 
         Intent intent = new Intent();
-        intent.setAction(CODELABS_ACTION);
         intent.putExtra("method", "onMessageReceived");
         intent.putExtra("msg", "onMessageReceived called, message id:" + message.getMessageId() + ", payload data:"
                 + message.getData());
@@ -147,6 +157,7 @@ public class MyPushService extends HmsMessageService {
     private void startWorkManagerJob(RemoteMessage message) {
         LogUtil.d(TAG, "Start new Job processing.");
     }
+
     private void processWithin10s(RemoteMessage message) {
         LogUtil.d(TAG, "Processing now.");
     }
@@ -154,26 +165,12 @@ public class MyPushService extends HmsMessageService {
     @Override
     public void onMessageSent(String msgId) {
         LogUtil.i(TAG, "onMessageSent called, Message id:" + msgId);
-        Intent intent = new Intent();
-        intent.setAction(CODELABS_ACTION);
-        intent.putExtra("method", "onMessageSent");
-        intent.putExtra("msg", "onMessageSent called, Message id:" + msgId);
-
-        sendBroadcast(intent);
     }
 
     @Override
     public void onSendError(String msgId, Exception exception) {
         LogUtil.i(TAG, "onSendError called, message id:" + msgId + ", ErrCode:"
                 + ((SendException) exception).getErrorCode() + ", description:" + exception.getMessage());
-
-        Intent intent = new Intent();
-        intent.setAction(CODELABS_ACTION);
-        intent.putExtra("method", "onSendError");
-        intent.putExtra("msg", "onSendError called, message id:" + msgId + ", ErrCode:"
-            + ((SendException) exception).getErrorCode() + ", description:" + exception.getMessage());
-
-        sendBroadcast(intent);
     }
 
     @Override