android NotificationCompat.Builder未定义

时间:2013-06-19 08:57:10

标签: android notifications

当我尝试将我的通知代码设置为按钮时 它总是给我这部分的错误

NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this)

[[构造函数NotificationCompat.Builder(new View.OnClickListener(){})未定义]]

我怎么能解决这个问题?

Button button9= (Button) findViewById(R.id.button9);
    button9.setOnClickListener(new View.OnClickListener(){
    public void onClick(View arg0) {


        ///////////My Notification//////////////////////////        
        NotificationCompat.Builder mBuilder =new NotificationCompat.Builder(this)
        .setSmallIcon(R.drawable.notification_icon)
        .setContentTitle("I'm astm  loooooooool")
        .setContentText("Hello baby to my world!");
        // Creates an explicit intent for an Activity in your app
        Intent resultIntent = new Intent(this, MainActivity.class);

        // The stack builder object will contain an artificial back stack for the
        // started Activity.
        // This ensures that navigating backward from the Activity leads out of
        // your application to the Home screen.
        TaskStackBuilder stackBuilder = TaskStackBuilder.create(this);
        // Adds the back stack for the Intent (but not the Intent itself) (ResultActivity)
        stackBuilder.addParentStack(MainActivity.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);
        NotificationManager mNotificationManager=(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
        int mId = 0;
        // mId allows you to update the notification later on.
        mNotificationManager.notify(mId, mBuilder.build());
        ///////////End Notification//////////////////////////
        }
    });

3 个答案:

答案 0 :(得分:2)

谢谢大家帮助我[[没有人给我任何答案looooooool]]

我得到了自己的答案 只需将 NotificationCompat.Builder 定义为Final并且效果很好

^ __ ^

        ///////// my Nine button (set Notification) //////////
    final NotificationCompat.Builder mBuilder =new NotificationCompat.Builder(this)
    .setSmallIcon(R.drawable.notification_icon)
    .setContentTitle("I'm astm  loooooooool")
    .setContentText("Hello baby to my world!");
    Button button9= (Button) findViewById(R.id.button9);
    final TaskStackBuilder stackBuilder = TaskStackBuilder.create(this);
    button9.setOnClickListener(new View.OnClickListener(){
    public void onClick(View arg0) {

        ///////////My Notification//////////////////////////        
        // Creates an explicit intent for an Activity in your app
        Intent resultIntent = new Intent();

        // The stack builder object will contain an artificial back stack for the
        // started Activity.
        // This ensures that navigating backward from the Activity leads out of
        // your application to the Home screen.
        // Adds the back stack for the Intent (but not the Intent itself) (ResultActivity)
        stackBuilder.addParentStack(MainActivity.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);
        NotificationManager mNotificationManager=(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
        int mId = 0;
        // mId allows you to update the notification later on.
        mNotificationManager.notify(mId, mBuilder.build());
        ///////////End Notification//////////////////////////

      }
    });

答案 1 :(得分:1)

使用this

更改getBaseContext
NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(getBaseContext());

答案 2 :(得分:0)

我遇到了同样的问题。我改变了:

NotificationCompat.Builder mBuilder =new NotificationCompat.Builder(this)

使用:

NotificationCompat.Builder mBuilder =new NotificationCompat.Builder(this.context)