2017-07-11 67 views
1

我最近開發了一個應用程序,但是,Android studio不再支持setLatestEventInfo方法,因此,我試圖將此方法更改爲Notification.Builder方法。但是,我很掙扎,因此我希望有人能夠支持我將這種方法改爲Notification.Builder方法。無法解析setLatestEventInfo方法

String ns = Context.NOTIFICATION_SERVICE; 
     mNotificationManager = (NotificationManager) getSystemService(ns); 

     int icon = R.drawable.ic_launcher; 
     CharSequence tickerText = "Fall Detector"; 
     long when = System.currentTimeMillis(); 
     notification = new Notification(icon, tickerText, when); 


     mContext = getApplicationContext(); 
     CharSequence contentTitle = "Fall Detector"; 
     CharSequence contentText = "Running"; 
     Intent notificationIntent = new Intent(this,StartActivity.class); 
     PendingIntent contentIntent = PendingIntent.getActivity(this, 0, 
       notificationIntent, 0); 
     notification.setLatestEventInfo(mContext, contentTitle, contentText, 
       contentIntent); 


     mNotificationManager.notify(1, notification); 

我試過了下面,但是,它說它不能解析符號contentintent。

String ns = Context.NOTIFICATION_SERVICE; 
     int icon = R.drawable.ic_launcher; 
     CharSequence tickerText = "Fall Detector"; 
     long when = System.currentTimeMillis(); 
     notification = new Notification(icon, tickerText, when); 
     mNotificationManager = (NotificationManager) getSystemService(ns); 

     Notification.Builder builder = new Notification.Builder(mContext) 

       .setContentTitle("Fall Detector") 
       .setContentText("Running") 
       .setContentIntent(contentIntent); 
     builder.build(); 
     Notification notification = builder.getNotification(); 

     mNotificationManager.notify(1, notification); 
+0

「我正在努力」 - 請編輯您的問題,並顯示您已經嘗試了什麼以及您遇到了哪些具體問題。關於這個主題有幾十個現有的問題,比如[this](https://stackoverflow.com/q/32345768/115145)。如果你不希望人們將你的問題標記爲重複,你需要詳細解釋**,**是什麼使你的問題與現有問題不同。 – CommonsWare

+0

更新的問題 –

+0

我修改了代碼,但是,仍然得到說明無法解析符號內容的相同消息。 –

回答

0

我曾嘗試以下,但它說,它無法解析符號contentintent。

那是因爲你沒有從原來的幾行代碼複製到您的修改後的代碼:

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

有那些在修改後的代碼,你開始配置Notification.Builder之前。

+0

我嘗試了下面的內容,但是,它表示它無法解析符號內容。 –

+0

@ElderlyWatch:在你開始配置'Notification.Builder' **之前,正如我寫的那樣,在修改後的代碼中有**。在開始配置'Notification.Builder'後,你有**。因此,例如,您可以將它們作爲代碼片段中的第一行。 – CommonsWare

+0

但是,我已經這樣做了,但是,現在我收到一條錯誤消息,其中說:java.lang.NullPointerException:嘗試調用虛擬方法'void android.app.NotificationManager.notify(int,android.app.Notification)'在空對象引用 –