e4605fda5b4b4b14dc34063cb6b93feb08a146a6.svn-base 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179
  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 com.google.gson.JsonObject;
  10. import org.json.JSONObject;
  11. import cn.jpush.android.api.CmdMessage;
  12. import cn.jpush.android.api.CustomMessage;
  13. import cn.jpush.android.api.JPushInterface;
  14. import cn.jpush.android.api.JPushMessage;
  15. import cn.jpush.android.api.NotificationMessage;
  16. import cn.jpush.android.service.JPushMessageReceiver;
  17. import eVVM.apk.R;
  18. import eVVM.apk.helper.SPUtils;
  19. import eVVM.apk.helper.SoundPoolHelper;
  20. import eVVM.apk.ui.toreview.VnToreViewActivity;
  21. import eVVM.apk.ui.vaccination.VnReportDetailForDoctorActivity;
  22. /**
  23. * Created by Android Studio.
  24. * User: zbb
  25. * Date: 2019/6/6
  26. * Describe: EvvmPushReceiver
  27. */
  28. public class EvvmPushReceiver extends JPushMessageReceiver {
  29. private static final String TAG = "PushMessageReceiver";
  30. @Override
  31. public void onMessage(Context context, CustomMessage customMessage) {
  32. Log.e(TAG,"[onMessage] "+customMessage);
  33. processCustomMessage(context,customMessage);
  34. }
  35. @Override
  36. public void onNotifyMessageOpened(Context context, NotificationMessage message) {
  37. Log.e(TAG,"[onNotifyMessageOpened] "+message);
  38. try{
  39. JSONObject extrasJson = new JSONObject(message.notificationExtras);
  40. //打开自定义的Activity
  41. Intent in = new Intent(context, VnToreViewActivity.class);
  42. Bundle bundle = new Bundle();
  43. bundle.putString(JPushInterface.EXTRA_NOTIFICATION_TITLE,message.notificationTitle);
  44. bundle.putString(JPushInterface.EXTRA_ALERT,message.notificationContent);
  45. in.putExtras(bundle);
  46. in.putExtra("VnchipNumber",""+extrasJson.getString("chipNumber"));
  47. in.putExtra("toreviewid",extrasJson.getString("reviewId"));
  48. in.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
  49. in.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP );
  50. context.startActivity(in);
  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. }
  94. Vibrator vib = (Vibrator) context.getSystemService(Service.VIBRATOR_SERVICE);
  95. vib.vibrate(new long[]{100,200}, -1);
  96. }
  97. @Override
  98. public void onNotifyMessageDismiss(Context context, NotificationMessage message) {
  99. Log.e(TAG,"[onNotifyMessageDismiss] "+message);
  100. }
  101. @Override
  102. public void onRegister(Context context, String registrationId) {
  103. Log.e(TAG,"[onRegister] "+registrationId);
  104. if(registrationId != null && !registrationId.equals("")){
  105. SPUtils.put("pushToken",registrationId);
  106. }
  107. }
  108. @Override
  109. public void onConnected(Context context, boolean isConnected) {
  110. Log.e(TAG,"[onConnected] "+isConnected);
  111. }
  112. @Override
  113. public void onCommandResult(Context context, CmdMessage cmdMessage) {
  114. Log.e(TAG,"[onCommandResult] "+cmdMessage);
  115. }
  116. @Override
  117. public void onTagOperatorResult(Context context, JPushMessage jPushMessage) {
  118. TagAliasOperatorHelper.getInstance().onTagOperatorResult(context,jPushMessage);
  119. super.onTagOperatorResult(context, jPushMessage);
  120. }
  121. @Override
  122. public void onCheckTagOperatorResult(Context context, JPushMessage jPushMessage){
  123. TagAliasOperatorHelper.getInstance().onCheckTagOperatorResult(context,jPushMessage);
  124. super.onCheckTagOperatorResult(context, jPushMessage);
  125. }
  126. @Override
  127. public void onAliasOperatorResult(Context context, JPushMessage jPushMessage) {
  128. TagAliasOperatorHelper.getInstance().onAliasOperatorResult(context,jPushMessage);
  129. super.onAliasOperatorResult(context, jPushMessage);
  130. }
  131. @Override
  132. public void onMobileNumberOperatorResult(Context context, JPushMessage jPushMessage) {
  133. TagAliasOperatorHelper.getInstance().onMobileNumberOperatorResult(context,jPushMessage);
  134. super.onMobileNumberOperatorResult(context, jPushMessage);
  135. }
  136. //send msg to MainActivity
  137. private void processCustomMessage(Context context, CustomMessage customMessage) {
  138. /*if (MainActivity.isForeground) {
  139. String message = customMessage.message;
  140. String extras = customMessage.extra;
  141. Intent msgIntent = new Intent(MainActivity.MESSAGE_RECEIVED_ACTION);
  142. msgIntent.putExtra(MainActivity.KEY_MESSAGE, message);
  143. if (!ExampleUtil.isEmpty(extras)) {
  144. try {
  145. JSONObject extraJson = new JSONObject(extras);
  146. if (extraJson.length() > 0) {
  147. msgIntent.putExtra(MainActivity.KEY_EXTRAS, extras);
  148. }
  149. } catch (JSONException e) {
  150. }
  151. }
  152. LocalBroadcastManager.getInstance(context).sendBroadcast(msgIntent);
  153. }*/
  154. }
  155. }