private void noticeNewBlog(Context context) {
    NotificationManager notiManager =
        (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
    notiManager.cancel(Constants.NOTIFICATION_NEW_MICRO_BLOG); // 先清除上一次提醒;

    Intent intent = new Intent();
    // 粉丝
    if (entity.getContentType() == Skeleton.TYPE_MORE) {
      intent.setAction("com.shejiaomao.weibo.SOCIAL_GRAPH");
      intent.addCategory("android.intent.category.DEFAULT");
      intent.putExtra("SOCIAL_GRAPH_TYPE", SocialGraphTask.TYPE_FOLLOWERS);
      intent.putExtra("USER", account.getUser());
    } else {
      intent.setAction("com.shejiaomao.weibo.MAIN");
      intent.addCategory("android.intent.category.DEFAULT");
      intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    }
    intent.putExtra("CONTENT_TYPE", entity.getContentType());
    intent.putExtra("ACCOUNT", account);

    Notification notification = new Notification();
    notification.icon = R.drawable.icon_notification;
    notification.flags = Notification.FLAG_AUTO_CANCEL;
    notification.tickerText = entity.getTickerText();

    if (sheJiaoMao.isVibrateNotification()) {
      notification.defaults |= Notification.DEFAULT_VIBRATE;
    }
    if (sheJiaoMao.isRingtoneNotification()) {
      if (StringUtil.isNotEmpty(sheJiaoMao.getRingtoneUri())) {
        notification.sound = Uri.parse(sheJiaoMao.getRingtoneUri());
      } else {
        notification.defaults |= Notification.DEFAULT_SOUND;
      }
    }

    if (sheJiaoMao.isFlashingLEDNotification()) {
      notification.ledARGB = Color.GREEN;
      notification.ledOffMS = 1000;
      notification.ledOnMS = 1000;
      notification.flags |= Notification.FLAG_SHOW_LIGHTS;
    }

    int requestCode = account.getAccountId().intValue() * 100 + entity.getContentType();
    PendingIntent pendingIntent =
        PendingIntent.getActivity(context, requestCode, intent, PendingIntent.FLAG_UPDATE_CURRENT);

    notification.setLatestEventInfo(
        context, entity.getContentTitle(), entity.getContentText(), pendingIntent);

    notiManager.notify(requestCode, notification);
  }
Example #2
0
  public static LocalStatus createDividerStatus(List<Status> statusList, LocalAccount account) {
    if (ListUtil.isEmpty(statusList) || account == null) {
      return null;
    }

    Status status = statusList.get(statusList.size() - 1);
    StringBuffer newId = new StringBuffer(status.getStatusId());
    char c = newId.charAt(newId.length() - 1);
    byte b = (byte) ((int) c - 1);
    newId.setCharAt(newId.length() - 1, (char) b);

    LocalStatus dividerStatus = new LocalStatus();
    dividerStatus.setStatusId(newId.toString());
    dividerStatus.setAccountId(account.getAccountId());
    dividerStatus.setServiceProvider(account.getServiceProvider());
    Date createdAt = new Date(status.getCreatedAt().getTime() - 1);
    dividerStatus.setCreatedAt(createdAt);
    dividerStatus.setDivider(true);
    dividerStatus.setText("divider");

    return dividerStatus;
  }
Example #3
0
  protected void onPostExecute(Boolean result) {
    if (progressDialog != null) {
      try {
        progressDialog.dismiss();
      } catch (Exception e) {
      }
    }

    Button btnAuthorize = (Button) context.findViewById(R.id.btnAuthorize);
    btnAuthorize.setEnabled(true);

    if (result) {
      SharedPreferences prefs =
          context.getSharedPreferences(Constants.PREFS_NAME_APP_TEMP, Activity.MODE_PRIVATE);
      AddAccountActivity.saveNewAccountId(prefs, account.getAccountId());
      if (isFollowOffical) {
        new FollowOfficalTask(account).execute();
      }
      context.setResult(Constants.RESULT_CODE_SUCCESS);
      context.finish();
    } else {
      Toast.makeText(context, resultMsg, Toast.LENGTH_LONG).show();
    }
  }