关于Android上的发布通知的编码问题

时间:2018-10-03 23:03:29

标签: android

  

我需要重写所有不赞成使用的方法和类。

private void showNotification(Peer peer, int id) {
    CharSequence text = getString(id) + " " + peer.getName();
    Notification notification = new Notification(R.drawable.notification, text, System.currentTimeMillis());

    notification.flags |= Notification.FLAG_AUTO_CANCEL; 

    Intent intent = new Intent(this, IPsecToolsActivity.class); //intent.setAction(ACTION_NOTIFICATION);

    PendingIntent contentIntent = PendingIntent.getActivity(this, 0, intent, 0);

    notification.setLatestEventInfo(this, getText(R.string.native_service_label), text, contentIntent);    //setLatestEventInfo method has been deprecated

    // Send the notification.
    mNM.notify(peer.getName(), R.string.notify_peer_up, notification);
}
  

请注意,通知已过时,它已过时。   无法使用setLatestEventInfo方法。   我需要帮助以其他方式重写它。

我的重写方式如下:请让我知道我是否正确。

private void showNotification(Peer peer, int id) {
    CharSequence text = getString(id) + " " + peer.getName();

    Context context = this; 
    Notification notification = new Notification.Builder(context)    
            .setContentText(text)
            .setSmallIcon(R.drawable.notification)
            .setWhen(System.currentTimeMillis())
            .build();


    notification.flags |= Notification.FLAG_AUTO_CANCEL;

    Intent intent = new Intent(this, IPsecToolsActivity.class);
    //intent.setAction(ACTION_NOTIFICATION);

    PendingIntent contentIntent = PendingIntent.getActivity(this, 0,
            intent, 0);

    // Send the notification.
    mNM.notify(peer.getName(), R.string.notify_peer_up, notification); 
}

0 个答案:

没有答案