2014-12-30 3 views
0

Я отправляю уведомления от parse.com своим пользователям. Я получаю это сообщение в BroadcastReceiver и выполняю там другие задания.android-Отключить уведомление, когда я получаю уведомление о разборе в BroadcastReceiver

Проблема в том, что я получаю уведомление с каждым сообщением, и я не хочу, чтобы мои пользователи видели это уведомление. Я отправляю данные json из parse.com, и usrrs не должны видеть что-то подобное.

Это код broadcaseRecevier:

public class ParseBroadcastReceiver extends BroadcastReceiver { 
JSONArray contacts = null; 

@Override 
public void onReceive(Context context, Intent intent) { 
    Bundle extra = intent.getExtras(); 
    String json = extra.getString("com.parse.Data"); 
    JSONObject jObject; 

    try { 
     jObject = new JSONObject(json); 
     //jObject.optString("alert") 
     Log.v("this",jObject.getString("alert").replace("data:","")); 
     JSONObject jsons = new JSONObject(jObject.getString("alert").replace("data:","")); 

     String strTel = jsons.getString("tel"); 

    } catch (JSONException e) { 
     Log.v("this","error "+e.getMessage()); 
    } 
} 
} 

Я уверен, что он приходит к этому классу.

ответ

1

Если вы не хотите, чтобы Parse генерировал уведомление при получении широковещательной передачи, вы можете создать собственное уведомление.

Похоже, это ТАК является хорошим примером этого: Not Receiving Parse Push Notifications on Android in Custom BroadcastReceiver

В принципе идея заключается в том, чтобы послать и свойство «действия» с JSON, содержащим имя намерения. Затем это намерение запускается (отправка широковещательной передачи) после получения нажатия. Тогда ваш пользовательский широковещательный приемник, слушая имя «действие», может обрабатывать полученный JSON любым удобным вам способом.

Внимательно просмотрел документацию по адресу: https://parse.com/docs/push_guide#options/Android и заметил, что параметр «действие» больше не упоминается, но он по-прежнему поддерживается, поскольку я в настоящее время полагаюсь на него.

Если сотрудники parse.com видят это, было бы неплохо скомментировать отсутствующий параметр «действие» в документации push-уведомлений.

Update:

Я не testet это сам, но в документации по адресу: https://parse.com/docs/push_guide#receiving-responding/Android раздела: Managing the Push Lifecycle означает, что вы можете:

  • Подкласс ParsePushBroadcastReceiver
  • И, чтобы избежать генерации уведомлений по умолчанию либо:
    • Переименуйте 'alert' в somethin g else, например. «Данные»
    • Или цитата:

Можно переопределить onPushReceive, чтобы вызвать фоновую операцию для «тихой» выталкивает, а затем делегировать супер для всех остальных толкает

Update2:

Открыл вопрос о обсуждении группы Google для анализа и обнаружил, что e 'action' для подхода Intent устарел (поэтому он больше не документирован).

https://groups.google.com/forum/#!topic/parse-developers/NLT64ObeaBY

Смежные вопросы