对于NotificationCompat.Builder类型,方法setProgress(int,int,boolean)是未定义的

时间:2013-06-09 04:03:42

标签: android apk-expansion-files

对于Google Play下载程序库,我使用Android支持库Rev. 13与API 8兼容。 从这个支持库我想使用NotificationCompat而不是Notification。

NotificationCompat的Google类描述将公共方法setProgress(int max,int progress,boolean indeterminate)列为可用。

这是我从最初的Google Play下载程序库(V14CustomNotification.java)更改的部分:

...
import android.app.Notification;
import android.support.v4.app.NotificationCompat;
...

@Override
public Notification updateNotification(Context c) {

    NotificationCompat.Builder builder = new NotificationCompat.Builder(c);
    builder.setContentTitle(mTitle);
    if (mTotalKB > 0 && -1 != mCurrentKB) {
        builder.setProgress((int) (mTotalKB >> 8), (int) (mCurrentKB >> 8), false);
    } else {
        builder.setProgress(0, 0, true);
    }
    builder.setContentText(Helpers.getDownloadProgressString(mCurrentKB, mTotalKB));
    builder.setContentInfo(c.getString(R.string.time_remaining_notification,
            Helpers.getTimeRemaining(mTimeRemaining)));
    if (mIcon != 0) {
        builder.setSmallIcon(mIcon);
    } else {
        int iconResource = android.R.drawable.stat_sys_download;
        builder.setSmallIcon(iconResource);
    }
    builder.setOngoing(true);
    builder.setTicker(mTicker);
    builder.setContentIntent(mPendingIntent);
    builder.setOnlyAlertOnce(true);

    return builder.getNotification();
}

问题:“NotificationCompat.Builder类型的方法setProgress(int,int,boolean)未定义。”

所有其他builder.set ...都是已知的,但不是builder.setProgress。

我做错了什么?

2 个答案:

答案 0 :(得分:1)

似乎已在新版Android支持库v13:

中解决

https://stackoverflow.com/a/13529155/305135

答案 1 :(得分:0)

现在我发现了这个:http://code.google.com/p/android/issues/detail?id=30755 描述了方法setProgress,但没有包含在NotificationCompat中。