代码之家  ›  专栏  ›  技术社区  ›  LEBG

notification`notify()`不能从静态上下文引用

  •  0
  • LEBG  · 技术社区  · 6 年前

    我使用一个简单的代码在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 回复  |  直到 6 年前
        1
  •  1
  •   AskNilesh    6 年前

    用这个

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

    而不是这个

    NotificationManager.notify().mNotificationManager.notify(001, mBuilder.build());
    
        2
  •  2
  •   Vasant    6 年前

    请参阅下面的解决方案。

    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());
    }}