平板电脑的通知设置大图显示质量低

时间:2018-10-09 06:16:18

标签: android notifications

我搜索了BigPictureImage().bigPicture(Bitmap b)多次。 我的问题是,当我为移动设备设置bigPicture(Bitmap b)时,看起来不错。但是当应用程序在平板电脑上运行时,图片始终质量低下,图片看起来不清晰。我已经将png图片放在正确的可绘制资源中,在drawable-nodpi中也没有任何作用。我认为Mobile和Tablet之间除了屏幕大小没有区别,在这种情况下没有问题。我尝试使用像素密度不同的2 Mobile和2 Tablet,这两种Tablet都是错误的。

    private static Bitmap mContentBitmap = null;
    mContentBitmap = BitmapFactory.decodeResource(mContext.getResources(), R.drawable.image); // png 972x522
    mBuilder.setSmallIcon(R.drawable.quickpanel_list_ic_smart_call_filter);
    mBuilder.setTicker(null);
    mBuilder.setWhen(System.currentTimeMillis());
    mBuilder.setContentTitle(mContext.getString(R.string.smart_call_title));
    mBuilder.setContentText(contentString);
    mBuilder.setContentIntent(pendingIntent);
    mBuilder.setStyle(new NotificationCompat.BigPictureStyle()
            .bigPicture(mContentBitmap)
            .setSummaryText(contentString));

    NotificationManagerCompat notiManager = NotificationManagerCompat.from(mContext);
    notiManager.notify(SMART_CALLS_FILTER_NOTIFICATION,mBuilder.build());

我已替换了方法加载位图图像:

   mContentBitmap = BitmapFactory.decodeResource(mContext.getResources(), R.drawable.image);

作者

    mContentBitmap = getContentBitmap(mContext.getResources(), R.drawable.image);
    public Bitmap getContentBitmap(Resources res, int resId){
        BitmapFactory.Options options = new BitmapFactory.Options();
        options.inJustDecodeBounds = true;
        BitmapFactory.decodeResource(res,resId,options);

        options.inSampleSize = 1;

        options.inJustDecodeBounds = false;
        return BitmapFactory.decodeResource(res,resId,options);
    }

但没有任何变化,问题仍然发生。任何人都可以帮助我解决此问题。感谢您抽出宝贵时间阅读此问题。
Normal picture displaying in Mobile : 5 inch, 320 dpi

Wrong picture displaying in Tablet : 8 inch, 213 dpi

0 个答案:

没有答案