Android 使用notification manager将数据从一个活动传递到另一个活动
我需要使用通知管理器将给定的活动分配给另一个活动。 这是通知的代码Android 使用notification manager将数据从一个活动传递到另一个活动,android,android-intent,android-pendingintent,notificationmanager,Android,Android Intent,Android Pendingintent,Notificationmanager,我需要使用通知管理器将给定的活动分配给另一个活动。 这是通知的代码 private void notificacion(){ // Preparamos el intent que será lanzado si la notificación es seleccionada Uri soundUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION); Intent intento =
private void notificacion(){
// Preparamos el intent que será lanzado si la notificación es seleccionada
Uri soundUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
Intent intento = new Intent(PrincipalActivity.this, ActualizarVersion.class);
intento.putExtra("versionnueva",VersionNueva);
intento.putExtra("versionactual",VersionActual);
intento.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_CLEAR_TASK);
PendingIntent pIntent = PendingIntent.getActivity(PrincipalActivity.this, 0, intento, 0);
// Creamos la notificación.
CharSequence ticker = "Aviso de actualización";
CharSequence contentTitle = "Calendario Verallia Sevilla";
CharSequence contentText = "Hay disponible una nueva actualización";
Notification noti = new NotificationCompat.Builder(PrincipalActivity.this)
.setContentIntent(pIntent)
.setTicker(ticker)
.setContentTitle(contentTitle)
.setContentText(contentText)
.setSmallIcon(R.drawable.icono_aplicacion_pequeno)
.setVibrate(new long[]{1000, 1000, 1000, 1000, 1000})
.setSound(soundUri)
.build();
NotificationManager notificationManager =
(NotificationManager) getSystemService(NOTIFICATION_SERVICE);
// Ocultamos la notificación si ha sido ya seleccionada
noti.flags |= Notification.FLAG_AUTO_CANCEL;
notificationManager.notify(0, noti);
//Log.i(TAG, "Servicio running");
}
这就是我收集活动版本数据的地方
public void RecibirDatos(){
Bundle extras = getIntent().getExtras();
String versionnueva = extras.getString("versionnueva");
String versionactual = extras.getString("versionactual");
VersionActual=versionactual;
VersionNueva=versionnueva;
}
接收数据时,intent为null并收集数据。我该怎么做?替换
PendingIntent pIntent = PendingIntent.getActivity(PrincipalActivity.this, 0, intento, 0);
与
因为最后一个参数是一个标志,指示如何控制在实际发送时可以提供哪些未指定的意图部分。因此不能将其值设置为0
请看一看。您的意思是意图为空,还是附加内容为空?因为你的密钥不匹配。第二个活动的附加值为空。我们已经通过这种方式进行了测试,其中一个在安卓8.1版上也可以完美运行
PendingIntent pIntent = PendingIntent.getActivity(PrincipalActivity.this, 0, intento, PendingIntent.FLAG_UPDATE_CURRENT);