2016-07-28 15 views
1

Ich arbeite an der Anwendung, in dieser Anwendung bekomme ich andere Anwendungsinformationen. Und die Info-Show auf dem Notification Builder. Ich bekomme das andere Anwendungssymbol und möchte es in der Benachrichtigung anzeigen. Aber die Informationen enthalten ein Bild.Legen Sie das Zeichen Symbol anderer Anwendung auf den Benachrichtigungsgenerator

Also, wie kann ich das zeichnungsfähige Bild auf der Benachrichtigung zeigen. Hier ist mein Beispielcode.

String packageName=appSetting.getHeavyDrainingAppName(); 

ApplicationInfo app = getPackageManager().getApplicationInfo(packageName, PackageManager.GET_META_DATA); 

int iconId = ......???? 



NotificationCompat.Builder mBuilder = 
          new NotificationCompat.Builder(context) 
            .setSmallIcon(iconId) 
            .setContentTitle(getResources().getString(R.string.heavy_drain_text)) 
            .setContentText("Tap to stop") 
            .setOngoing(true); 

Antwort

3

Es gibt einige Punkte, über diese Frage:

1. Platz:

Sie die LargeIcon von einem Auslosungs (statt Resource id), wie die folgende

Drawable icon = getActivity().getPackageManager().getApplicationIcon(packageName); 

      Bitmap bitmap = ((BitmapDrawable)icon).getBitmap(); 

      NotificationCompat.Builder mBuilder = 
        new NotificationCompat.Builder(context) 
          .setLargeIcon(bitmap) 
          .setContentTitle("hahah") 
          .setContentText("Tap to stop") 
          .setOngoing(true); 

einstellen 2:

Wenn Sie eine SmallIcon in API unter 23 einstellen müssen, müssen Sie einstellen eine Ressourcen-ID wie R.drawable.your_resource. In NotificationCompat.Builder können Sie nicht Drawable s or Bitmaps in setSmallIcon() `verwenden.

3.:

zum Glück hat sich die Unterstützung Icon Typ auf setSmallIcon() in Version 23+ erweitert, die Notification.Builder verwenden, wie folgt vor:

Drawable icon = getActivity().getPackageManager().getApplicationIcon(packageName); 

      Bitmap bitmap = ((BitmapDrawable)icon).getBitmap(); 

      Notification.Builder mBuilder = 
        new Notification.Builder(context) 
          .setSmallIcon(Icon.createWithBitmap(bitmap)) 
          .setLargeIcon(bitmap) 
          .setContentTitle("hahah") 
          .setContentText("Tap to stop") 
          .setOngoing(true); 
+0

ist das Ihr Problem gelöst? –

+0

Nicht das funktioniert nicht für mich ... –

+0

Welchen Teil hast du ausprobiert? Weil ich geschrieben habe, dass Sie setSmallIcon nicht mit Drawable oder Bitmap verwenden können, in pré 23 Version. –