2016-10-30 6 views
2

私は通知管理アプリケーションを作成しています。他のアプリケーションが表示する通知の内容を取得したいと思います。通知のタイトルとテキストを読むために別のアプリの通知から画像を取得するにはどうすればよいですか?

statusBarNotification.getNotification().extras.getString(Notification.EXTRA_TEXT); 

statusBarNotification.getNotification().extras.getString(Notification.EXTRA_TITLE); 

と、この:現在、私はこのようなコードを使用します。数時間後には通知のテキストに付随するイメージを得る方法を見つけることができませんでした。たとえば、Whatsappの通知に表示されているプロフィール画像などです。私はそれが小さいか大きいアイコンではないことを知っている、私は数回チェックした。

だから、誰がどのような方法で助けることができれば、それははるかに

答えて

1

をいただければ幸い私は、あなたが他のアプリからの通知を聞くことNotificationListenerServiceを使用を前提としています。

NotificationServiceクラスでは、アイコンressource idをエクストラNotification.EXTRA_SMALL_ICONに抽出し、他のアプリパッケージリソースにアクセスしてDrawableを取得します。私はすでに大と特大アイコンをテストしてみた

public class NotificationService extends NotificationListenerService { 

    Context context; 

    @Override 

    public void onCreate() { 
     super.onCreate(); 
     context = getApplicationContext(); 

    } 

    @Override 
    public void onNotificationPosted(StatusBarNotification statusBarNotification) { 

     // a notification is posted 

     String pack = statusBarNotification.getPackageName(); 

     Bundle extras = statusBarNotification.getNotification().extras; 

     int iconId = extras.getInt(Notification.EXTRA_SMALL_ICON); 

     try { 
      PackageManager manager = getPackageManager(); 
      Resources resources = manager.getResourcesForApplication(pack); 

      Drawable icon = resources.getDrawable(iconId); 

     } catch (PackageManager.NameNotFoundException e) { 
      e.printStackTrace(); 
     } 

     if (extras.containsKey(Notification.EXTRA_PICTURE)) { 
      // this bitmap contain the picture attachment 
      Bitmap bmp = (Bitmap) extras.get(Notification.EXTRA_PICTURE); 
     } 

    } 

    @Override 

    public void onNotificationRemoved(StatusBarNotification statusBarNotification) { 
     //call when notification is removed 
    } 
} 
+0

Notification.EXTRA_PICTUREは、通知で送信された大きな画像が含まれています。私もあなたが言及したExtra_Pictureを試して成功しませんでした。私はそれを正しく使用しなかったと思います。しかし、別のアプリケーションのものなので、どうすればいいですか?私はアイコンを取得するためにgetPackageContextを試しましたが、このextra_pictureのために私はそれをどのように使うべきかわかりません。 –

+0

私は私のポストで言ったように、私はアイコンを試して、それは私の意図ではありません。 –

+0

私はハングアウトアンドロイドアプリでテストしています。「Notification.EXTRA_PICTURE」は画像要素を保持しています。私は 'Notification.EXTRA_PICTURE'で投稿を更新しました。あなたは 'EXTRA_PICTURE'で成功していないと言いました、もっと具体的になりますか?ビットマップでimageViewを設定してみてください: 'iconView.setImageBitmap(bmp)' –

関連する問題