在Android通知中實施暫停功能的最佳方式是什麼? (即我通知用戶X [出於參數的緣故,我們可以使用短信的示例],而現在他不想受到它的困擾,但同時他想確保他不會忘記。所以他確實希望它再次發揮噪音,但在例如5分鐘後)在Android通知中實施暫停功能
我看到了安卓鬧鐘的方式,但對我來說似乎凌亂(通常不好)彈出一個浮動的意圖,而用戶可能會做一些重要的事情。
另一方面,似乎不可能將按鈕放在通知區域內。或者我錯了?
你會建議什麼?
在Android通知中實施暫停功能的最佳方式是什麼? (即我通知用戶X [出於參數的緣故,我們可以使用短信的示例],而現在他不想受到它的困擾,但同時他想確保他不會忘記。所以他確實希望它再次發揮噪音,但在例如5分鐘後)在Android通知中實施暫停功能
我看到了安卓鬧鐘的方式,但對我來說似乎凌亂(通常不好)彈出一個浮動的意圖,而用戶可能會做一些重要的事情。
另一方面,似乎不可能將按鈕放在通知區域內。或者我錯了?
你會建議什麼?
一個簡單的策略可能是如下:「1個新信息點擊這裏在5分鐘再次通知」
或者,如果用戶沒有其他輸入(例如,點擊「解除」按鈕),則單擊該通知可以將活動帶到前臺,以設置定時器。
另一種相反的方法是在發送通知時設置一個計時器,並且在打盹時間之後,將其移除並添加一個新的計時器,並添加相應的噪音,並且可能會添加一段文字說明已經過了多少時間自最初的通知。這可以遞歸地完成,直到用戶清除通知或點擊通知。
最好的策略將取決於應用程序的功能以及用戶能夠執行的定製級別。我不會實現用戶無法輕易阻止的snozze行爲(如果沒有,可能會非常煩人)。
添加打盹按鈕:
Button snooze = (Button) findViewById(R.id.snooze);
snooze.setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View arg0, MotionEvent arg1) {
mMediaPlayer.stop();
finish();
return true;
}
};
然後,你打電話報警,更新時間
Intent intent = new Intent(this, this.getClass());
PendingIntent pendingIntent =
PendingIntent.getService(this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
long currentTimeMillis = System.currentTimeMillis();
long nextUpdateTimeMillis = currentTimeMillis + 5 * DateUtils.MINUTE_IN_MILLIS;
Time nextUpdateTime = new Time();
nextUpdateTime.set(nextUpdateTimeMillis);
AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
alarmManager.set(AlarmManager.RTC, nextUpdateTimeMillis, pendingIntent);
撥打了報警
我覺得之前您實際上可以將按鈕添加到通知中在狀態欄內。看到這裏的例子:http://www.anddev.org/show_notification_in_statusbar-t1019.html – theomega 2011-04-21 16:02:03
@theomega它沒有說任何關於通知中的按鈕。你能把我指向你看到的那個地方嗎? – yydl 2011-04-21 16:14:48
當然它的確如下:看看屏幕截圖,他們正在實施兩個動作:一個是單擊右側的圖標,另一個是通知的其餘部分。該佈局還包含一個按鈕。 – theomega 2011-04-21 17:06:43