对于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。
我做错了什么?
答案 0 :(得分:1)
似乎已在新版Android支持库v13:
中解决答案 1 :(得分:0)
现在我发现了这个:http://code.google.com/p/android/issues/detail?id=30755 描述了方法setProgress,但没有包含在NotificationCompat中。