Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Issue with NotificationCompact.Builder and ActionBarSherlock

In the following code, Eclipse found an error:

The method build() is undefined for the type NotificationCompat.Builder

Everything worked fine before adding the ActionBarSherlock (following this tutorial).

import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.app.TaskStackBuilder;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.support.v4.app.NotificationCompat;

public class NotificationActivity extends BroadcastReceiver {

    NotificationManager nm;

    @Override
    public void onReceive(Context context, Intent intent) {
        nm = (NotificationManager) context
                .getSystemService(Context.NOTIFICATION_SERVICE);
        int notifyID = 1;
        NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(
                context)
                .setSmallIcon(R.drawable.zcicon)
                .setAutoCancel(true)
                .setDefaults(
                        Notification.DEFAULT_SOUND
                                | Notification.DEFAULT_LIGHTS)
                .setTicker("mytitle").setContentTitle("mycontent")
                .setContentText("text, text");
        Intent resultIntent = new Intent(context, CalcareReader.class);
        TaskStackBuilder stackBuilder = TaskStackBuilder.create(context);
        // 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);

        nm.notify(notifyID, mBuilder.build()); // error here
    }
}
like image 240
Stefano Paolessi Avatar asked Mar 12 '13 12:03

Stefano Paolessi


1 Answers

build() was added in a newer edition of the Android Support package. Depending on how you obtained and set up ActionBarSherlock, you may be using an older edition of the Android Support package. Make sure that you have the latest one downloaded in your SDK Manager, then use that android-support-v4.jar in both the ActionBarSherlock project and your main application project.

like image 95
CommonsWare Avatar answered Oct 27 '22 22:10

CommonsWare