0

出於某種原因,我沒有在我的代碼中使用android-support-library。爲了執行與Android 4.0風格相匹配的通知,我寫這個:Android如何控制通知(無Notification.Builder)中的進度條?

private void noti() { 
    NotificationManager notificationManager = (NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE); 
    int icon = R.drawable.ic_launcher; 
    CharSequence text = "Notification Text"; 
    CharSequence contentTitle = "Notification Title"; 
    CharSequence contentText = "Sample notification text."; 
    long when = System.currentTimeMillis(); 
    Intent intent = new Intent(this, MainActivity.class); 
    PendingIntent contentIntent = PendingIntent.getActivity(this, 0, intent, 0); 
    Notification notification = new Notification(icon,text,when); 
    notification.setLatestEventInfo(this, contentTitle, contentText, contentIntent); 
    notificationManager.notify(1, notification); 
} 

如何控制它的進度條? developer.google.com中的方式使用Notification.Builder,但Builder位於android-support-library中。

我找到了另一種方式來做到這一點是

notification.setProgressBar(int viewId, int max, int progress, boolean indeterminate) 

但另一個問題是,它需要一個自定義通知佈局,包含一個進度條。如果我使用自定義佈局,它將不符合Android 4.0風格。

我現在能做什麼?請幫助我,謝謝!

+0

我不明白你問什麼:你想自定義佈局或符合Android 4.0的風格佈局?我通常使用'notif.setProgress(max,progress,indeterminate)'來更新通知中的進度條。這將使用系統的默認風格。 – Joffrey

+0

@Joffrey感謝您的評論。我需要我的通知來匹配Android 4.0風格,因爲女巫的原因我不能使用自定義佈局。 notif.setProgress(最大值,進步,不確定的)是Notification.Builder女巫的方法是在機器人支撐庫。但還是謝謝你^ – John

+0

我的壞,我讀了「我需要一個自定義佈局」,而不是「需要」 ^^好吧'NotificationCompat.Builder'是支持,而不是'Notification.Builder'直接在系統庫?如果你想要一些特殊的功能,例如進度條,那麼使用Builder的可能性對我來說似乎是合乎邏輯的。如果你想要向後兼容,那麼支持庫就在這裏。 – Joffrey

回答

0

我通過使用自定義佈局女巫解決了這個問題,從Android源代碼here來了,所以它看起來像一個系統通知。希望這可以幫助其他人。