对于 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。
我做错了什么?