¿Cómo utiliza el desarrollo de Android Baidu Cloud para permitir que cualquier usuario presione un botón y luego envíe una NOTIFICACIÓN a otros usuarios?
Primero echemos un vistazo a cómo operar en el teléfono móvil.
1. Registre una cuenta de Baidu
2. Únase a los desarrolladores de Baidu
3. Cree una aplicación
4. p>
5.LOGIN_TYPE_API_KEY,
en una creación del formulario principal PushServiceUtils.getMetaValue(this, "api_key"));
Copiar código
5.3 Escribiendo tu propio receptor.
Manejar mensajes relacionados con enlaces, mensajes push y clics en la barra de notificaciones
clase pública MyPushMessageReceiver extiende BroadcastReceiver {
string final estática privada TAG = "BroadcastReceiver";
@ Anular
public void onReceive(contexto de contexto final, intención de intención) {
Log.d(TAG, "gt; gt; gt; gt; intención de recepción: \r\ n" intent);
if (intent.getAction().equals(PushConstants.ACTION_MESSAGE)){
// Obtener el contenido del mensaje
String message = intent .getExtras().getString(
PushConstants.EXTRA_PUSH_MESSAGE_STRING);
// Contenido del mensaje definido por el usuario para leer
Log.i(TAG , " onMessage: " mensaje);
// cadena json de contenido personalizado
Log.d(TAG,
"EXTRA_EXTRA = "
p>intent.getStringExtra(PushConstants.EXTRA_MESSAGE, mensaje);
respuestaIntent.setClass(contexto, MainActivity.class);
respuestaIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); p>
context.startActivity(responseIntent);
} else if (intent.getAction().equals(PushConstants .ACTION_RECEIVE)).{
// Procesando datos devueltos de enlace y otros métodos
// El valor de retorno de PushManager.startWork() se obtiene a través de PushConstants.METHOD_BIND
// método
final String método = intent
.getStringExtra(PushConstants.EXTRA_METHOD);
// El método devuelve un código de error. Si el enlace devuelve un error (distinto de cero), la aplicación no recibirá mensajes correctamente.
// Hay muchas razones para el error de enlace, como razones de red o tokens de acceso caducados.
// No realice una simple llamada a startWork cuando se produzca un error, ya que esto provocará un bucle infinito.
// Este problema se puede solucionar limitando el número de reintentos o llamando nuevamente en otro momento.
int errorCode = intent.getIntExtra(PushConstants.EXTRA_ERROR_CODE,
PushConstants.ERROR_SUCCESS
Contenido de cadena = ""
); if (intent.getByteArrayExtra(PushConstants.EXTRA_CONTENT) != null) {
// devolver contenido
contenido = new String(
intent.getByteArrayExtra(PushConstants) .EXTRA_CONTENT));
}
// Los usuarios pueden personalizar el procesamiento de mensajes; el siguiente código se utiliza para demostrar la visualización de la interfaz
Log.d(TAG , " onMessage: método: " método);
Log.d(TAG, "onMessage: resultado: " errorCode);
Log.d(TAG, "onMessage: contenido: " contenido );
Toast.makeText(
contexto,
"método: " método "\n resultado: " código de error
"\ n contenido = " contenido, Toast.LENGTH_SHORT)
.show();
Intención respuestaIntent = nulo;
respuestaIntent = nueva Intención(PushServiceUtils. ACTION_RESPONSE) ;
respuestaIntent.putExtra(PushServiceUtils.RESPONSE_METHOD, método);
respuestaIntent.content);
respuestaIntent.setClass(contexto, MainActivity.class) ;
ResponseIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(responseIntent
// Opcional).
Notificar al usuario sobre el procesamiento de eventos de clic
} else if (intent.getAction().equals(
PushConstants.ACTION_RECEIVER_NOTIFICATION_CLICK))d(TAG,
" EXTRA_EXTRA = "
intent.getStringExtra(PushConstants.EXTRA_EXTRA));
if (customData == null || "".equals( customData)) {
retorno;
}
Intento aIntent = nuevo Intent();
aIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); > aIntent .setClass(
contexto,
com.pdwy.wulianwang.mobile.main.notification.NotificationDetails_Activity.class
Título de cadena = intención<); /p >
.getStringExtra(PushConstants.EXTRA_NOTIFICATION_TITLE);
aIntent.putExtra(PushConstants.EXTRA_NOTIFICATION_TITLE);
aIntent.NOTIFICATION_TITLE = intención
. getStringExtra( PushConstants.EXTRA_NOTIFICATION_TITLE);