2012-08-30 17 views
16

Tengo el siguiente código que estoy usando desde hace una aplicación para Android:crear una notificación persistente y evitar que la notificación en la barra de estado

package com.authorwjf.e_notifications; 

import android.app.Activity; 
import android.app.Notification; 
import android.app.NotificationManager; 
import android.app.PendingIntent; 
import android.content.Context; 
import android.content.Intent; 
import android.graphics.Bitmap; 
import android.graphics.BitmapFactory; 
import android.os.Bundle; 

public class Main extends Activity { 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
     Bitmap bm = Bitmap.createScaledBitmap(BitmapFactory.decodeResource(getResources(), R.drawable.avatar), 
       getResources().getDimensionPixelSize(android.R.dimen.notification_large_icon_width), 
       getResources().getDimensionPixelSize(android.R.dimen.notification_large_icon_height), 
       true); 
     Intent intent = new Intent(this, Main.class); 
     PendingIntent pendingIntent = PendingIntent.getActivity(this, 01, intent, Intent.FLAG_ACTIVITY_CLEAR_TASK); 
     Notification.Builder builder = new Notification.Builder(getApplicationContext()); 
     builder.setContentTitle("This is the title"); 
     builder.setContentText("This is the text"); 
     builder.setSubText("Some sub text"); 
     builder.setNumber(101); 
     builder.setContentIntent(pendingIntent); 
     builder.setTicker("Fancy Notification"); 
     builder.setSmallIcon(R.drawable.ic_launcher); 
     builder.setLargeIcon(bm); 
     builder.setAutoCancel(true); 
     builder.setPriority(0); 
     Notification notification = builder.build(); 
     NotificationManager notificationManger = 
       (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); 
     notificationManger.notify(01, notification);   
    } 

} 

Básicamente la aplicación cuando lanzó crea una notificación, ahora tengo algunas preguntas:

  • Es posible, cuando se inicia la aplicación, que la notificación se muestre en la lista de notificación desplegable pero sin el icono en la barra de estado. es decir. consulte

http://imagebin.org/226494

no puede el icono con un círculo rojo se mostrará? En última instancia, me gustaría crear un servicio que se asiente en la notificación desplegable.

  • ¿Hay alguna manera de hacer que la notificación en el menú desplegable persista, es decir. si se presiona el ícono con un círculo en azul (http://imagebin.org/226494) para que la notificación aún permanezca?

Soy nuevo en el desarrollo de Android y estoy tratando de entender lo que puedo hacer con las notificaciones.

Gracias

+0

la imagen las publicaciones no son accesibles. usted podría utilizar imagebin.org – nandeesh

+0

hola, lo siento sobre que he actualizado los enlaces a imagebin – Dino

Respuesta

37
  • A1: Para eliminar el icono de la barra de estado, utilice este truco:

    builder.setSmallIcon(android.R.color.transparent); //Tested and worked in API 14 
    
  • A2: Para hacer Notificación presistant, añada esta línea:

    builder.setOngoing(true) 
    
+0

perfecto! gracias – Dino

+0

@Dino Usted es Bienvenido :-) – iTurki

+0

¿Cómo se configura esto en una API anterior? API8 no tiene constructor. –

1

Echa un vistazo a la ongoing event flag. Creo que esto puede crear notificaciones continuas similares a las notificaciones de conexión wifi y usb del sistema.

+0

hola, gracias voy a mirar en este – Dino

Cuestiones relacionadas