1

Google Play Downloader Library については、Android Support Library Rev. 13 を使用して API 8 と互換性を持たせています。このサポート ライブラリから、Notification の代わりに NotificationCompat を使用したいと考えています。

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();
}

問題: 「メソッド setProgress(int, int, boolean) は NotificationCompat.Builder 型に対して定義されていません」。

他のすべての builder.set... はわかっていますが、builder.setProgress はわかっていません。

私が間違っていることは何ですか?

4

2 に答える 2

1

Android Support Library の新しいバージョン v13 で解決されているようです。

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

于 2013-08-25T05:43:26.807 に答える