通知`notify()`不能从静态上下文中引用

时间:2018-07-26 06:50:56

标签: android android-notifications

我正在使用一个简单的代码通过功能在Android中推送通知。该函数如下:

public void sendNotification(View view) {

        NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this).setContentTitle("My notification").setContentText("Hello World!");

        NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);

        NotificationManager.notify().mNotificationManager.notify(001, mBuilder.build());
    }}

这是我在网站上选择的示例功能。

一切正常,NotificationCompat.builder不返回任何错误。但是最后一行的第一个notify()返回以下错误:Non-static method 'notify()' cannot be referenced from a static context

我真的不明白为什么。空隙位于我的MainActivity.java内的public class MainActivity extends AppCompatActivity {}

编辑:

解决方案是从NotificationManager.notify().中删除mNotificationManager.notify(001, mBuilder.build());

2 个答案:

答案 0 :(得分:2)

请参见下面的解决方案。

public void sendNotification(View view) {

    NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this).setContentTitle("My notification").setContentText("Hello World!");

    NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);

    mNotificationManager.notify(001, mBuilder.build());
}}

答案 1 :(得分:1)

使用此

mNotificationManager.notify(001, mBuilder.build());

代替这个

NotificationManager.notify().mNotificationManager.notify(001, mBuilder.build());