1

对于 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。

我做错了什么?

4

2 回答 2

1

似乎它已在新版本的 Android 支持库 v13 中得到解决:

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

于 2013-08-25T05:43:26.807 回答
0

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

于 2013-06-09T07:58:38.833 回答