75ddd241ff3fe4794e6d8d54ac7afd93e56ba7b2.svn-base 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187
  1. package eVVM.apk.jpush;
  2. import android.app.Service;
  3. import android.content.Context;
  4. import android.content.Intent;
  5. import android.media.MediaPlayer;
  6. import android.os.Bundle;
  7. import android.os.Vibrator;
  8. import android.util.Log;
  9. import org.json.JSONObject;
  10. import cn.jpush.android.api.CmdMessage;
  11. import cn.jpush.android.api.CustomMessage;
  12. import cn.jpush.android.api.JPushInterface;
  13. import cn.jpush.android.api.JPushMessage;
  14. import cn.jpush.android.api.NotificationMessage;
  15. import cn.jpush.android.service.JPushMessageReceiver;
  16. import eVVM.apk.R;
  17. import eVVM.apk.helper.SPUtils;
  18. import eVVM.apk.helper.SoundPoolHelper;
  19. import eVVM.apk.ui.toreview.VnToreViewActivity;
  20. /**
  21. * Created by Android Studio.
  22. * User: zbb
  23. * Date: 2019/6/6
  24. * Describe: EvvmPushReceiver
  25. */
  26. public class EvvmPushReceiver extends JPushMessageReceiver {
  27. private static final String TAG = "PushMessageReceiver";
  28. @Override
  29. public void onMessage(Context context, CustomMessage customMessage) {
  30. Log.e(TAG, "[onMessage] " + customMessage);
  31. processCustomMessage(context, customMessage);
  32. }
  33. @Override
  34. public void onNotifyMessageOpened(Context context, NotificationMessage message) {
  35. Log.e(TAG, "[onNotifyMessageOpened] " + message);
  36. try {
  37. JSONObject extrasJson = new JSONObject(message.notificationExtras);
  38. //打开自定义的Activity
  39. if (message.notificationContent.equals("你有一个需复核请立即处理")) {
  40. Intent in = new Intent(context, VnToreViewActivity.class);
  41. Bundle bundle = new Bundle();
  42. bundle.putString(JPushInterface.EXTRA_NOTIFICATION_TITLE, message.notificationTitle);
  43. bundle.putString(JPushInterface.EXTRA_ALERT, message.notificationContent);
  44. in.putExtras(bundle);
  45. in.putExtra("VnchipNumber", "" + extrasJson.getString("chipNumber"));
  46. in.putExtra("toreviewid", extrasJson.getString("reviewId"));
  47. in.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
  48. in.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
  49. context.startActivity(in);
  50. }
  51. } catch (Throwable throwable) {
  52. }
  53. }
  54. @Override
  55. public void onMultiActionClicked(Context context, Intent intent) {
  56. Log.e(TAG, "[onMultiActionClicked] 用户点击了通知栏按钮");
  57. String nActionExtra = intent.getExtras().getString(JPushInterface.EXTRA_NOTIFICATION_ACTION_EXTRA);
  58. //开发者根据不同 Action 携带的 extra 字段来分配不同的动作。
  59. if (nActionExtra == null) {
  60. Log.d(TAG, "ACTION_NOTIFICATION_CLICK_ACTION nActionExtra is null");
  61. return;
  62. }
  63. if (nActionExtra.equals("my_extra1")) {
  64. Log.e(TAG, "[onMultiActionClicked] 用户点击通知栏按钮一");
  65. } else if (nActionExtra.equals("my_extra2")) {
  66. Log.e(TAG, "[onMultiActionClicked] 用户点击通知栏按钮二");
  67. } else if (nActionExtra.equals("my_extra3")) {
  68. Log.e(TAG, "[onMultiActionClicked] 用户点击通知栏按钮三");
  69. } else {
  70. Log.e(TAG, "[onMultiActionClicked] 用户点击通知栏按钮未定义");
  71. }
  72. }
  73. private SoundPoolHelper soundPoolHelper;
  74. @Override
  75. public void onNotifyMessageArrived(Context context, NotificationMessage message) {
  76. Log.e(TAG, "[onNotifyMessageArrived] " + message);
  77. if (message.notificationContent.equals("你有一只预警疫苗")) {
  78. try {
  79. MediaPlayer mMediaPlayer;
  80. mMediaPlayer = MediaPlayer.create(context, R.raw.niyouyizhiyujing);
  81. mMediaPlayer.start();
  82. } catch (IllegalStateException e) {
  83. e.printStackTrace();
  84. }
  85. } else if (message.notificationContent.equals("你有一个需复核请立即处理")) {
  86. try {
  87. MediaPlayer mMediaPlayer;
  88. mMediaPlayer = MediaPlayer.create(context, R.raw.niyouyigexyfyhe);
  89. mMediaPlayer.start();
  90. } catch (IllegalStateException e) {
  91. e.printStackTrace();
  92. }
  93. } else if (message.notificationContent.equals("您申请复核的疫苗有了新回复,请及时查看")) {
  94. try {
  95. MediaPlayer mMediaPlayer;
  96. mMediaPlayer = MediaPlayer.create(context, R.raw.youhuifu);
  97. mMediaPlayer.start();
  98. } catch (IllegalStateException e) {
  99. e.printStackTrace();
  100. }
  101. }
  102. Vibrator vib = (Vibrator) context.getSystemService(Service.VIBRATOR_SERVICE);
  103. vib.vibrate(new long[]{100, 200}, -1);
  104. }
  105. @Override
  106. public void onNotifyMessageDismiss(Context context, NotificationMessage message) {
  107. Log.e(TAG, "[onNotifyMessageDismiss] " + message);
  108. }
  109. @Override
  110. public void onRegister(Context context, String registrationId) {
  111. Log.e(TAG, "[onRegister] " + registrationId);
  112. if (registrationId != null && !registrationId.equals("")) {
  113. SPUtils.put("pushToken", registrationId);
  114. }
  115. }
  116. @Override
  117. public void onConnected(Context context, boolean isConnected) {
  118. Log.e(TAG, "[onConnected] " + isConnected);
  119. }
  120. @Override
  121. public void onCommandResult(Context context, CmdMessage cmdMessage) {
  122. Log.e(TAG, "[onCommandResult] " + cmdMessage);
  123. }
  124. @Override
  125. public void onTagOperatorResult(Context context, JPushMessage jPushMessage) {
  126. TagAliasOperatorHelper.getInstance().onTagOperatorResult(context, jPushMessage);
  127. super.onTagOperatorResult(context, jPushMessage);
  128. }
  129. @Override
  130. public void onCheckTagOperatorResult(Context context, JPushMessage jPushMessage) {
  131. TagAliasOperatorHelper.getInstance().onCheckTagOperatorResult(context, jPushMessage);
  132. super.onCheckTagOperatorResult(context, jPushMessage);
  133. }
  134. @Override
  135. public void onAliasOperatorResult(Context context, JPushMessage jPushMessage) {
  136. TagAliasOperatorHelper.getInstance().onAliasOperatorResult(context, jPushMessage);
  137. super.onAliasOperatorResult(context, jPushMessage);
  138. }
  139. @Override
  140. public void onMobileNumberOperatorResult(Context context, JPushMessage jPushMessage) {
  141. TagAliasOperatorHelper.getInstance().onMobileNumberOperatorResult(context, jPushMessage);
  142. super.onMobileNumberOperatorResult(context, jPushMessage);
  143. }
  144. //send msg to MainActivity
  145. private void processCustomMessage(Context context, CustomMessage customMessage) {
  146. /*if (MainActivity.isForeground) {
  147. String message = customMessage.message;
  148. String extras = customMessage.extra;
  149. Intent msgIntent = new Intent(MainActivity.MESSAGE_RECEIVED_ACTION);
  150. msgIntent.putExtra(MainActivity.KEY_MESSAGE, message);
  151. if (!ExampleUtil.isEmpty(extras)) {
  152. try {
  153. JSONObject extraJson = new JSONObject(extras);
  154. if (extraJson.length() > 0) {
  155. msgIntent.putExtra(MainActivity.KEY_EXTRAS, extras);
  156. }
  157. } catch (JSONException e) {
  158. }
  159. }
  160. LocalBroadcastManager.getInstance(context).sendBroadcast(msgIntent);
  161. }*/
  162. }
  163. }