public void WriteStringSet(String key, Set<String> value) {
    SharedPreferences sp = getSharedPreferences();
    // 锟斤拷锟斤拷锟斤拷锟斤拷
    Editor editor = sp.edit();
    editor.putStringSet(key, value);

    editor.commit();
  }
  public void saveLeaguer(String spName, String key, String leaguer) {
    SharedPreferences sp = getApplicationContext().getSharedPreferences(spName, MODE_PRIVATE);

    Set<String> teamLeaguer = sp.getStringSet(key, new LinkedHashSet<String>());
    Editor edit = sp.edit();
    teamLeaguer.add(leaguer);
    edit.putStringSet(key, teamLeaguer);
    edit.commit();
  }
 public static void savePreference(Context context, String prefKey, Set<String> values) {
   Set<String> urlSet = null;
   if (null == PreferenceService.getConfiguredServers(context, prefKey)) {
     urlSet = new HashSet<String>();
   } else {
     urlSet = PreferenceService.getConfiguredServers(context, prefKey);
   }
   SharedPreferences sPreferences = context.getSharedPreferences(APP_PREFS, 0);
   for (String url : values) {
     urlSet.add(url);
   }
   Editor editor = sPreferences.edit();
   editor.putStringSet(prefKey, urlSet);
   editor.commit();
 }
  @SuppressWarnings("unchecked")
  private void preferenceChanged(Preference preference, Object newValue) {
    Editor editor = mPrefs.edit();
    if (newValue instanceof String) {
      editor.putString(preference.getKey(), (String) newValue);
    } else if (newValue instanceof Integer) {
      editor.putInt(preference.getKey(), (Integer) newValue);
    } else if (newValue instanceof Set<?>) {
      editor.putStringSet(preference.getKey(), (Set<String>) newValue);
    } else if (newValue instanceof Boolean) {
      editor.putBoolean(preference.getKey(), (Boolean) newValue);
    }

    editor.commit();
    emitSettingsChanged();
  }
  @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);

  }