我需要做什么才能将NotificationCompat与NotificationChannel一起使用?

时间:2017-09-08 05:10:30

标签: android android-notifications android-support-library

我在Android文档和其他网站(包括这个网站)中看到,可以创建一个频道并使用NotificationCompat,但我没有得到它。我准备好让这项工作变得疯狂。

使用android.support.v7.app.NotificationCompatandroid.support.v4.app.NotificationCompat Android Studio显示:“Builder中的Builder(Context)无法应用于(Context,String)”

notificationBuilder = new NotificationCompat.Builder(this, idNoti);// here

如果我只使用Builder(Context),它甚至不会向我显示NotificationCompat的弃用消息。

我的 build.gradle 文件:

android {
    compileSdkVersion 26
    buildToolsVersion '26.0.1'

    defaultConfig {
        minSdkVersion 21
        targetSdkVersion 26
        ...
    }
    ...
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:design:26.0.0-alpha1'
    ...
}

我在Mac上使用最新版本的Android Studio(2.3.3)。 我需要使用NotificationCompat。

1 个答案:

答案 0 :(得分:-1)

首先需要从此answer

创建频道
  if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {

      /* Create or update. */ 
      NotificationChannel channel = new NotificationChannel("my_channel_01",
          "Channel human readable title",  
          NotificationManager.IMPORTANCE_DEFAULT);
      mNotificationManager.createNotificationChannel(channel);
  } 

然后将您的通知挂钩。

notificationBuilder = new NotificationCompat.Builder(this, "my_channel_01");

有关详细信息,请参阅Android开发者的此video