Android Notification java.lang.RuntimeException:错误的数组长度

时间:2016-06-13 19:36:50

标签: android bitmap notifications android-notifications remoteview

我正在android.App上编写一个音乐播放器应用程序,它有一个自定义通知,如下所示。

enter image description here

在左边部分,我在歌曲改变时设置了专辑封面。但是当我再次单击下一首歌曲按钮时,我得到了错误的数组异常。

FATAL EXCEPTION: main
java.lang.RuntimeException: bad array lengths
   at android.os.Parcel.readIntArray(Parcel.java:677)

设置专辑封面时的代码脚本如下所示。

BitMap bitmap = findBitmap("");
notification.contentView.setImageViewBitmap(R.id.albumImage, bitmap);
notificationManager.notify(NOTIFICATION_ID, notification);

public Bitmap findBitmap(String uriStr) {
Bitmap bitmap = null;
currentUri = songList.get(currentPosition).getAlbumArtUri();

try {
    ParcelFileDescriptor pfd = getApplicationContext().getContentResolver()
            .openFileDescriptor(currentUri, "r");

    if (pfd != null) {
        System.out.println("XXX pfd is not null");
        FileDescriptor fd = pfd.getFileDescriptor();
        Rect r = new Rect();
        final BitmapFactory.Options options = new BitmapFactory.Options();
        options.inJustDecodeBounds = true;
        BitmapFactory.decodeFileDescriptor(fd, r, options);

        options.inSampleSize = 1;
        options.inJustDecodeBounds = false;
        int imageHeight = options.outHeight;
        int imageWidth = options.outWidth;
        String imageType = options.outMimeType;
        bitmap = BitmapFactory.decodeFileDescriptor(fd, r, options);
    }
} catch (Exception e) {
    e.printStackTrace();
}

return bitmap;

0 个答案:

没有答案