0

所以我有一個使用AlarmManager的計時器,一旦它達到0,我希望它發送一個具有各種屬性的通知,取決於用戶選擇的內容(是否振動,播放聲音與否,顯示文本與否,在下拉托盤中顯示...矩形thingy,無論它被稱爲,等等)。發送帶選項的即時通知

我不確定這裏使用的預期類是什麼,因爲它是直接的,即它是在鬧鐘管理器已經達到0之後,我現在在我的廣播接收機的onReceive()方法中,所以我沒有認爲我現在需要使用PendingIntent。

我使用NotificationCompat.Builder?它會做我需要的一切嗎?如果是這樣,我使用支持v4或v7版本?

嘗試這樣的:

NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(c) 
    .setSmallIcon(R.mipmap.ic_launcher) 
    .setLargeIcon(BitmapFactory.decodeResource(c.getResources(), R.mipmap.ic_launcher)) 
    .setSound(RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION)) 
    .setContentText("This text should be in notification drawer!"); 

NotificationManager notificationManager = (NotificationManager) c.getSystemService(NOTIFICATION_SERVICE); 
notificationManager.notify(1, notificationBuilder.build()); 
Toast.makeText(c, "Toast text!", Toast.LENGTH_LONG).show(); 
+0

是NotificationCompat.Builder將完成你需要的所有上述功能 –

+0

@kapsym我應該使用哪個版本? v4或v7? – user8367195

+0

這取決於您的應用程序的其他功能。兩者都支持Android 2.3以上版本,但v7還有其他組件,如操作欄和其他東西。 v7內部使用v4,所以我想你可以使用v7獲得所有v4功能以及更多它提供的功能 –

回答

0

正如評論每討論 -

NotificationCompat.Builder將盡一切你所需要的上面的東西。 .build足以立即發送通知。如果你想設置一個特定的時間,你也可以使用.setWhen。你可以在這裏找到與你需要做的動作相關的所有方法 - Notification Developer Guide