Example #1
0
 // send msg to MainActivity
 private void processCustomMessage(Context context, Bundle bundle) {
   if (MainActivity.isForeground) {
     // String message = bundle.getString(JPushInterface.EXTRA_MESSAGE);
     String extras = bundle.getString(JPushInterface.EXTRA_EXTRA);
     Intent msgIntent = new Intent(MainActivity.MESSAGE_RECEIVED_ACTION);
     // msgIntent.putExtra(MainActivity.KEY_MESSAGE, message);
     if (!CommonUtils.isEmpty(extras)) {
       try {
         JSONObject extraJson = new JSONObject(extras);
         if (null != extraJson && extraJson.length() > 0) {
           msgIntent.putExtra(MainActivity.KEY_EXTRAS, extras);
         }
       } catch (JSONException e) {
       }
     }
     context.sendBroadcast(msgIntent);
   }
 }
Example #2
0
  @Override
  public void onReceive(Context context, Intent intent) {
    Bundle bundle = intent.getExtras();
    String extra = bundle.getString(JPushInterface.EXTRA_EXTRA);
    Log.d("TAG", "extra:" + extra);
    sp = context.getSharedPreferences("PUSH", Context.MODE_PRIVATE);
    editor = sp.edit();
    // programnames = sp.getStringSet("programname", null);
    if (!CommonUtils.isEmpty(extra)) {
      // editor.putString("extra", extra);
      // editor.commit();

      try {
        JSONObject extraJson = new JSONObject(extra);
        if (null != extraJson && extraJson.length() > 0) {
          String module = extraJson.getString("module");
          // 保存推送消息
          if ("HdcommentReply".equals(module)) {
            programnames = sp.getStringSet("programname", new HashSet<String>());
            sconnected_uids = sp.getStringSet("sconnected_uid", new HashSet<String>());
            String programname = extraJson.getString("programname");
            if (extraJson.has("sconnected_uid")) {
              String sconnected_uid = extraJson.getString("sconnected_uid");
              sconnected_uids.add(sconnected_uid);
              editor.putStringSet("sconnected_uid", sconnected_uids);
            }
            editor.putBoolean("HdcommentReply", true);
            programnames.add(programname);
            editor.putStringSet("programname", programnames);
            editor.commit();
          } else if ("StcollectReply".equals(module)) {
            editor.putBoolean("StcollectReply", true);
            editor.commit();
          } else if ("LatestNotification".equals(module)) {
            editor.putBoolean("LatestNotification", true);
            editor.commit();
          } else if ("AwardNotification".equals(module)) {
            editor.putBoolean("AwardNotification", true);
            editor.commit();
          } else if ("AgentNotification".equals(module)) {
            editor.putBoolean("AgentNotification", true);
            editor.commit();
          }
          // 处理推送结果
          if (JPushInterface.ACTION_REGISTRATION_ID.equals(intent.getAction())) {
            //						String regId = bundle.getString(JPushInterface.EXTRA_REGISTRATION_ID);
            //						Log.d("TAG", "[MyReceiver] 接收Registration Id : " + regId);
            // send the Registration Id to your server...

          } else if (JPushInterface.ACTION_MESSAGE_RECEIVED.equals(intent.getAction())) {
            //						Log.d("TAG", "[MyReceiver] 接收到推送下来的自定义消息: " +
            // bundle.getString(JPushInterface.EXTRA_MESSAGE));
            // processCustomMessage(context, bundle);

          } else if (JPushInterface.ACTION_NOTIFICATION_RECEIVED.equals(intent.getAction())) {
            //						Log.d("TAG", "[MyReceiver] 接收到推送下来的通知");
            //						int notifactionId = bundle.getInt(JPushInterface.EXTRA_NOTIFICATION_ID);
            // Log.d(TAG, "[MyReceiver] 接收到推送下来的通知的ID: " +
            // notifactionId);

          } else if (JPushInterface.ACTION_NOTIFICATION_OPENED.equals(intent.getAction())) {
            Log.d("TAG", "[MyReceiver] 用户点击打开了通知");
            Intent in = new Intent();
            // 打开自定义的Activity
            if ("AgentNotification".equals(module)) {
              in.setClass(context, MyMessageActivity.class);
            } else {
              in.setClass(context, WelcomeActivity.class);
            }
            // i.putExtras(bundle);
            // Receive不是activity,需要此项设置,否则不能跳转
            in.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            context.startActivity(in);

          } else if (JPushInterface.ACTION_RICHPUSH_CALLBACK.equals(intent.getAction())) {
            // Log.d(TAG, "[MyReceiver] 用户收到到RICH PUSH CALLBACK: " +
            // bundle.getString(JPushInterface.EXTRA_EXTRA));
            // 在这里根据 JPushInterface.EXTRA_EXTRA
            // 的内容处理代码,比如打开新的Activity,
            // 打开一个网页等..

          } else if (JPushInterface.ACTION_CONNECTION_CHANGE.equals(intent.getAction())) {
            //						boolean connected =
            // intent.getBooleanExtra(JPushInterface.EXTRA_CONNECTION_CHANGE, false);
            // Log.w(TAG, "[MyReceiver]" + intent.getAction() + "
            // connected state change to " + connected);
          } else {
            // Log.d(TAG, "[MyReceiver] Unhandled intent - " +
            // intent.getAction());
          }
        }
      } catch (JSONException e) {
      }
    }
    // System.out.println("resextraeidver Programnames === ===" +
    // programnames);
    // Log.d("TAG", "[MyReceiver] onReceive - " + intent.getAction() + ",
    // extras: " + printBundle(bundle));
    // Log.d(TAG, "[MyReceiver] 接收extra : " + extra);

  }