无法解析方法`setLatestEventInfo`

问题描述:

我在提醒应用程序,但我得不到解决方法setLatestEventInfo方法。无法解析方法`setLatestEventInfo`

public class NotifyService extends Service { 

    public class ServiceBinder extends Binder { 
     NotifyService getService() { 
      return NotifyService.this; 
     } 
    } 

    private static final int NOTIFICATION = 123; 
    public static final String INTENT_NOTIFY = "com.example.seng.healthyapp.INTENT_NOTIFY"; 
    private NotificationManager mNM; 

    @Override 
    public void onCreate() { 
     Log.i("NotifyService", "onCreate()"); 
     mNM = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); 
    } 

    @Override 
    public int onStartCommand(Intent intent, int flags, int startId) { 
     Log.i("LocalService", "Received start id " + startId + ": " + intent); 

     if (intent.getBooleanExtra(INTENT_NOTIFY, false)) 
      showNotification(); 

     return START_NOT_STICKY; 
    } 

    @Override 
    public IBinder onBind(Intent intent) { 
     return mBinder; 
    } 

    private final IBinder mBinder = new ServiceBinder(); 

    private void showNotification() { 

     CharSequence title = "Alarm!!"; 
     int icon = R.drawable.ic_dialog_alert; 

     CharSequence text = "Your notification time is upon us."; 
     long time = System.currentTimeMillis(); 

     Notification notification = new Notification(icon, text, time); 

     PendingIntent contentIntent = PendingIntent.getActivity(this, 0, new Intent(this, SecondActivity.class), 0); 

     notification.setLatestEventInfo(this, title, text, contentIntent); 

     notification.flags |= Notification.FLAG_AUTO_CANCEL; 

     mNM.notify(NOTIFICATION, notification); 

     stopSelf(); 
    } 
} 

编辑

public class NotifyService extends Service { 

    public class ServiceBinder extends Binder { 
     NotifyService getService() { 
      return NotifyService.this; 
     } 
    } 

    private static final int NOTIFICATION = 123; 
    public static final String INTENT_NOTIFY = "com.example.seng.healthyapp.INTENT_NOTIFY"; 
    private NotificationManager mNM; 

    @Override 
    public void onCreate() { 
     Log.i("NotifyService", "onCreate()"); 
     mNM = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); 
    } 

    @Override 
    public int onStartCommand(Intent intent, int flags, int startId) { 
     Log.i("LocalService", "Received start id " + startId + ": " + intent); 

     if(intent.getBooleanExtra(INTENT_NOTIFY, false)) 
      showNotification(); 

     return START_NOT_STICKY; 
    } 

    @Override 
    public IBinder onBind(Intent intent) { 
     return mBinder; 
    } 

    private final IBinder mBinder = new ServiceBinder(); 

    private void showNotification() { 
     CharSequence title = "Alarm!!"; 

     int icon = R.drawable.ic_dialog_alert; 
     CharSequence text = "Your notification time is upon us."; 

     long time = System.currentTimeMillis(); 

     PendingIntent contentIntent = PendingIntent.getActivity(this, 0, new Intent(this, SecondActivity.class), 0); 

     Notification.Builder builder = new Notification.Builder(this) 
       .setSmallIcon(icon) 
       .setContentTitle(title) 
       .setContentText(text) 
       .setContentIntent(contentIntent); 
     Notification notification = builder.build(); 

     notification.flags |= Notification.FLAG_AUTO_CANCEL; 

     mNM.notify(NOTIFICATION, notification); 

     stopSelf(); 
    } 
} 

“setLatestInfo`在API 23取出:https://developer.android.com/sdk/api_diff/23/changes/android.app.Notification.html

您应该使用Notification.Builder代替:https://developer.android.com/reference/android/app/Notification.Builder.html

有一个例子here

我假设你使用的是过时的Android教程。尝试使用https://developer.android.com中的那些。他们是最可靠的。

+0

hye,谢谢你提供的所有信息。我根据你给出的例子编辑了我的代码。你能帮助我检查我是否以正确的方式实施它们吗? –

+0

'长'时间从不使用 –

+0

你想用它做什么? – Zarwan