Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Notificación de Android .addAction obsoleta en api 23

¿Cuál es la forma correcta de añadir una acción a la notificación en la API 23 ya que addAction(int icon, CharSequence title, PendingIntent intent) está obsoleta? No se pudo encontrar ningún ejemplo, gracias.

Mi acción antigua: .addAction(R.drawable.ic_prev, "Previous", prevPendingIntent)

  • Animación de RecyclerView en el clic de artículo
  • NinePatchDrawable no obtiene relleno de chunk
  • ¿Cuáles son las consecuencias si intentamos conectar un hilo nativo permanentemente a la DVM (JVM)?
  • Error al abrir el frame buffer errno = 13 (Permiso denegado)
  • Eclipse crea automáticamente el diseño del fragmento, ¿cómo puedo desactivarlo?
  • Obtener anchura y altura de la pantalla
  • ¿Cómo actualizar ListView al desplazarse mientras recupera datos del servidor en Android?
  • Integración de NDK en Android Studio Error
  • Marcadores de clúster en Google Maps Android v2
  • Emulador en Android Studio no se inicia
  • Al hacer clic en las pestañas no cambia la pestaña actual cuando se usa Android TabLayout
  • Cómo mover una imagen de izquierda a derecha en android
  • 4 Solutions collect form web for “Notificación de Android .addAction obsoleta en api 23”

    En lugar de éste:

    AddAction (icono int, título CharSequence, intención PendingIntent)

    Este método fue obsoleto en API nivel 23.

    Utilizar:

    AddAction (acción de notificación.Acción)

    ¡Está todo en los documentos del desarrollador!

    Así que para usar esto:

    Primero construya su acción con el NotificationCompat.Action.Builder

     NotificationCompat.Action action = new NotificationCompat.Action.Builder(R.drawable.ic_prev, "Previous", prevPendingIntent).build(); 

    Nota: Utilice NotificationCompat.Action

    Y que añádalo a tu notificación:

     yournotification.addAction(action); 

    Utilice la clase Icon en el primer parámetro para Drawable si api level> = 23 (marshmallow)

    https://developer.android.com/reference/android/app/Notification.Action.Builder.html

    https://developer.android.com/sdk/api_diff/23/changes/android.app.Notification.Action.Builder.html

    ejemplo)

     Notification.Action action = new Notification.Action.Builder( Icon.createWithResource(this, R.drawable.ic_prev), "action string", pendingIntent).build(); 
     //Exemple of notification with Button private void scheduleNotificationWithButton(String message) { int notifReCode = 1; //What happen when you will click on button Intent intent = new Intent(this, MainActivity.class); PendingIntent pendingIntent = PendingIntent.getActivity(this, 1, intent, PendingIntent.FLAG_ONE_SHOT); //Button NotificationCompat.Action action = new NotificationCompat.Action.Builder(R.mipmap.ic_launcher, "Go", pendingIntent).build(); //Notification Notification notification = new NotificationCompat.Builder(this) .setSmallIcon(R.mipmap.ic_launcher) .setContentText("Back to Application ?") .setContentTitle("Amazing news") .addAction(action) //add buton .build(); //Send notification NotificationManager notificationManager = (NotificationManager) this.getSystemService(Context.NOTIFICATION_SERVICE); notificationManager.notify(1, notification); } 

    Sólo tienes que usar el constructor NotificationCompat.Builder en lugar del constructor Notification.Builder porque NotificationCompat.Builder te permite crear tu aplicación debajo de Android Version 4.1

    Resuelto mediante NotificationCompat.builder:

      String strTitle = getString(R.string.new_message); String strText = getString(R.string.hi_whats_up); Intent intent = new Intent(this, NotificationView.class); intent.putExtra("title", strTitle); intent.putExtra("text", strText); PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT); NotificationCompat.Builder builder = new NotificationCompat.Builder(this) .setSmallIcon(R.mipmap.ic_launcher) .setTicker("Notification Ticker") .setContentTitle("Notification Title") .setContentText("Notification Text") .addAction(R.mipmap.ic_launcher, "Notification Action", pendingIntent) .setContentIntent(pendingIntent) .setAutoCancel(true); NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); notificationManager.notify(0, builder.build()); 
    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.