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 回答