Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/193.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Notification.builder的方法build()未定义_Java_Android_Libraries - Fatal编程技术网

Java Notification.builder的方法build()未定义

Java Notification.builder的方法build()未定义,java,android,libraries,Java,Android,Libraries,我要发疯了,要建立一个通知。 我在网上看到我需要更新我的图书馆。 我右键点击了这个项目;在下载最后一个软件包后,我和Proprities取消了检查,并重新检查了我的库android.support.v7。 当我重新启动eclipse时,我也有同样的错误。 我想我不知道如何更新libs。请帮帮我 编辑:我将notification.builder更改为notificationcompat.builder() 我可以编译这个项目,但现在我有了这个错误日志 package com.example.si

我要发疯了,要建立一个通知。 我在网上看到我需要更新我的图书馆。 我右键点击了这个项目;在下载最后一个软件包后,我和Proprities取消了检查,并重新检查了我的库android.support.v7。 当我重新启动eclipse时,我也有同样的错误。 我想我不知道如何更新libs。请帮帮我 编辑:我将notification.builder更改为notificationcompat.builder() 我可以编译这个项目,但现在我有了这个错误日志

package com.example.simplenotification;

import android.app.Activity;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.RemoteViews;

public class MainActivity extends Activity {

 private static final int MY_NOTIFICATION_ID = 0;

 private int mNotificationCount;

 private final CharSequence tickerText ="this is tickerText";
 private final CharSequence contentTitle="this contentTitle";
 private final CharSequence contentText="this coontentText";

 private Intent mNotificationIntent;
 private PendingIntent mContentIntent;

 RemoteViews mContentView = new RemoteViews("com.example.simplenotification.StatusBarWithCustomView", R.layout.custom_view);
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    mNotificationIntent = new Intent(getApplicationContext(),AppGet.class);
    mContentIntent = PendingIntent.getActivity(getApplicationContext(), 0, mNotificationIntent, Intent.FLAG_ACTIVITY_NEW_TASK);
    final Button button = (Button) findViewById(R.id.button1);


    button.setOnClickListener(new OnClickListener() {


        public void onClick(View v){
            mContentView.setTextViewText(R.id.textView1, contentText + "(" + ++mNotificationCount +")");


            NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(MainActivity.this)
            .setTicker(tickerText)
            .setSmallIcon(android.R.drawable.stat_notify_more)
            .setAutoCancel(true)
            .setContentIntent(mContentIntent)
            .setContent(mContentView);

            NotificationManagerCompat mNotificationManager = NotificationManagerCompat.from(MainActivity.this);
            mNotificationManager.notify(MY_NOTIFICATION_ID,notificationBuilder.build());
        }


        }



    });



 }
}

错误日志显示:

09-18 11:19:22.344: E/AndroidRuntime(978): FATAL EXCEPTION: main
09-18 11:19:22.344: E/AndroidRuntime(978): android.app.RemoteServiceException: Bad       notification posted from package com.example.simplenotification: Couldn't expand   RemoteViews for: StatusBarNotification(package=com.example.simplenotification id=0 tag=null  notification=Notification(contentView=com.example.simplenotification.StatusBarWithCustomView/0x7f030019 vibrate=null,sound=null,defaults=0x0,flags=0x10) priority=0)
09-18 11:19:22.344: E/AndroidRuntime(978):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1259)
09-18 11:19:22.344: E/AndroidRuntime(978):  at android.os.Handler.dispatchMessage(Handler.java:99)
09-18 11:19:22.344: E/AndroidRuntime(978):  at android.os.Looper.loop(Looper.java:137)
09-18 11:19:22.344: E/AndroidRuntime(978):  at android.app.ActivityThread.main(ActivityThread.java:4340)
09-18 11:19:22.344: E/AndroidRuntime(978):  at java.lang.reflect.Method.invokeNative(Native Method)
09-18 11:19:22.344: E/AndroidRuntime(978):  at java.lang.reflect.Method.invoke(Method.java:511)
09-18 11:19:22.344: E/AndroidRuntime(978):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
09-18 11:19:22.344: E/AndroidRuntime(978):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
09-18 11:19:22.344: E/AndroidRuntime(978):  at dalvik.system.NativeStart.main(Native Method)

如果要使用支持库中的notification builder,我认为您需要支持库版本4。尝试导入

android.support.v4.app.NotificationCompat;
和使用:

NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(getApplicationContext())

我假设您想要使用支持版本,因为您正在谈论支持库。否则,如果您想使用普通notificationbuilder,我看不出错误在哪里。添加此作为回答,因为我没有足够的代表发表评论。

更改代码如下:

public void onClick(View v){

            NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(getApplicationContext())
            .setTicker(tickerText)
            .setSmallIcon(android.R.drawable.stat_notify_more)
            .setAutoCancel(true)
            .setContentIntent(mContentIntent)

            NotificationManagerCompat mNotificationManager = NotificationManagerCompat.from(getApplicationContext());
            mNotificationManager.notify(MY_NOTIFICATION_ID,notificationBuilder.build());
        }

请输入logcat错误“您的项目包含错误,请在运行您的应用程序之前修复它们”。。在上下文中找不到“this”我将“this”更改为“MainActivity.this”,我可以编译它,但我在编辑答案中发布了错误。我已更新了代码。在这里,我删除了RemoteView,我想您是在其中添加通知的布局。看看上面的代码是否可以删除您面临的错误。