1

この例のような進捗通知を作成しようとしています。
これが私のコードです:

 NotificationManager mNotifyManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
    Builder mBuilder = new NotificationCompat.Builder(MyActivity.this);
    mBuilder.setContentTitle(getString(R.string.download_title))
    .setContentText(getString(R.string.downloading))
    .setSmallIcon(R.drawable.ic_notify);

    Intent resultIntent = new Intent(this, MyActivity.class);
    TaskStackBuilder stackBuilder = TaskStackBuilder.create(this);
    // Adds the back stack for the Intent (but not the Intent itself)
    stackBuilder.addParentStack(MyActivity.class);
    // Adds the Intent that starts the Activity to the top of the stack
    stackBuilder.addNextIntent(resultIntent);
    PendingIntent resultPendingIntent = stackBuilder.getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT);
    mBuilder.setContentIntent(resultPendingIntent);

通知は正常に機能しましたが、進行状況を更新したい場合、何も起こらず、通知テキストのみが表示されます。

public void onRequestProgressUpdate(RequestProgress progress) {             
    mBuilder.setProgress(size, (int)(progress.getProgress() / size), false);
    mNotifyManager.notify(Constants.NOTIFICATION_ID, mBuilder.build());
}

私のアプリは Android サポート ライブラリandroid-support-v4.jarを使用し、最小 Sdk バージョンを API 7 に設定しています。API レベル 7 からのすべての Android バージョンの進行状況通知を表示したいのですが
、新しいバージョンでのみ機能しますか? 通知用のカスタム ビューを作成する必要はありますか?

4

1 に答える 1

0

「Notification」クラスの代わりに「NotificationCompat」を使用する必要があります。次のようなことを試してください:

NotificationCompat.Builder builder = new NotificationCompat.Builder(this);

builder.setContentIntent(pendInt)
  .setSmallIcon(R.drawable.ic_someicon)
  .setTicker("some title")
  .setOngoing(true)
  .setContentTitle("some content description title")
  .setContentText("some content description description");
Notification not = builder.build();

startForeground(NOTIFY_ID, not);
于 2014-06-17T17:28:07.603 に答える