2017-07-17 53 views
1

我试图做到这一点:非弃用方式的Android

Notification not = new Notification(idIcon, text, System.currentTimeMillis()); 
PendingIntent pInt = PendingIntent.getActivity(ctx, 0, new Intent(ctx, the_class_to_call), 0); 

not.setLatestEventInfo(ctx, app_name, text, pInt); 

但这被废弃。

我试图做到这一点:

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

但是那是过时了。

现在,什么是非弃用的方式来显示android中的通知? 我发现的所有回复都是这两种方式。

的minSdkVersion:19

回答

0

最后我找到了这个问题的解决方案。

我正在使用兼容性库。我使用appcompat v7。

appcompat v7具有NotificationCompat.Builder的实现。但是,当我试图这样做时:

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

编译器解释我正在使用appcompat v4构建器。

我修复了它执行到appcompat v7生成器的转换。

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