Autore Topic: Custom Notifcation  (Letto 429 volte)

Offline jaco94++

  • Nuovo arrivato
  • *
  • Post: 22
  • Respect: 0
    • Github
    • Mostra profilo
  • Dispositivo Android:
    Nexus 4
  • Play Store ID:
    JDL
  • Sistema operativo:
    Fedora
Custom Notifcation
« il: 22 Settembre 2013, 14:04:01 CEST »
0
Salve sto sviluppando un applicazione che fa uso di una custom notification per creare una notifica "launcher" che permette di  avviare le applicazioni inserite nel menu della mia app.
In tutto il mio lavoro c'è solo un problema! Le icone che dovrebbero essere visualizzate nella barra di notifica vengono visualizzate una sopra l'altra e non riesco ad impedirlo!
Come posso risolvere?

Codice che crea la notifica dopo aver letto l'elenco delle applicazioni!
Codice (Java): [Seleziona]
Vector<PendingIntent> Pvector = new Vector<PendingIntent>();
                Vector<RemoteViews> RemoteV = new Vector<RemoteViews>();
               
                RemoteViews RemoteBase = new RemoteViews(getPackageName(),R.layout.notifybase);
                PackageManager pm =getPackageManager();
                for(Iterator<String> str=RawApp.iterator();str.hasNext();)
                {
                    try
                    {
                        ApplicationInfo Apppackage =pm.getApplicationInfo(str.next(),PackageManager.GET_META_DATA);
                        Pvector.add(PendingIntent.getActivity(this, NotifyId, getPackageManager().getLaunchIntentForPackage(Apppackage.processName), 0));
                        RemoteV.add(new RemoteViews(getPackageName(), R.layout.notifyobject));
                        RemoteV.get(RemoteV.size()-1).setImageViewBitmap(R.id.imageView1, drawableToBitmap(pm.getApplicationIcon(Apppackage)));
                        RemoteV.get(RemoteV.size()-1).setOnClickPendingIntent(R.id.imageView1, Pvector.get(Pvector.size()-1));
                       
                        RemoteBase.addView(R.id.view_container0, RemoteV.get(RemoteV.size()-1));
                        }
                    catch (NameNotFoundException e)
                    {
                                // TODO Auto-generated catch block
                                e.printStackTrace();
                        }
                }
                NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this)
                .setSmallIcon(R.drawable.ic_launcher)
                .setContent (RemoteBase);  
               
                startForeground(NotifyId, mBuilder.build());

notifyobject
Codice (XML): [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:orientation="vertical" >
    <ImageView
       android:id="@+id/imageView1"
       android:layout_width="64dp"
       android:layout_height="64dp"
       android:scaleType="center" />
</LinearLayout>

NotifyBase
Codice (XML): [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:id="@+id/view_container0"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:orientation="horizontal" >
</RelativeLayout>

« Ultima modifica: 22 Settembre 2013, 14:12:21 CEST da jaco94++ »