Red de conocimiento informático - Conocimiento informático - ¿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?

¿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?

Baidu Cloud Push se divide en dos partes: la página web y el teléfono móvil.

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

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);