4

ビルダーメソッドを介して進行状況を示す通知バーを生成したいのですが、どこが間違っているのかわかりません。どこが間違っているのかを教えてくれて、私を助けてくれる人がいれば、感謝します。

public class DownloadReceiver extends ResultReceiver{
    private final static String TAG = "DownloadReceiver"; 
    public Context context;
    public DownloadReceiver(Handler handler,Context context) {
        super(handler);
        this.context = context;
        Log.d(TAG,handler.getLooper().getThread().getName());
    }

    @Override
    protected void onReceiveResult(int resultCode, Bundle resultData) {
        super.onReceiveResult(resultCode, resultData);
        Log.d(TAG,"in download receiver");

        NotificationManager notificationManager = (NotificationManager) context.getSystemService(Service.NOTIFICATION_SERVICE);
        Intent notifyIntent = new Intent(android.content.Intent.ACTION_VIEW,Uri.parse("http://www.android.com"));
        PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, notifyIntent, 0);

    if(resultCode == DownloadService.COMPLETED){
            Log.d(TAG,resultCode + "");
            Builder notificationBuilder = new NotificationCompat.Builder(context)
                                          .setProgress(100, 20, false)
                                          .addAction(R.drawable.ic_action_search, "title", pendingIntent)
                                          .setWhen(System.currentTimeMillis());
    //      notification.flags = Notification.FLAG_ONGOING_EVENT;
            //      notification.setLatestEventInfo(context, "contentTitle", "contentText", pendingIntent);
            notificationManager.notify(50, notificationBuilder.build());
        }else if(resultCode == DownloadService.ALLCOMPLETED){

        }
    }
}
4

1 に答える 1

11

私はちょうど今これに対処しなければなりませんでした、私にとっての解決策はあなたが通知画像を追加しなければならないということでした

.setSmallIcon(R.drawable.launcher)

それ以外の場合は何も表示されません。古い通知方法では、デフォルトでアプリのアイコンになるため、これを自分で設定する必要はありませんでした。

于 2012-11-02T22:22:04.633 に答える