[英]Android notification sound not playing, intermittently
我已經進行了搜索,因此很抱歉,如果這個問題已經得到答復(我很高興被重定向),但是特別是我們的問題是斷斷續續的。
我們的客戶抱怨說,當事件從我們的軟件發送到他們的手機時,通知音頻間歇性地不是“發出聲音”。 它會工作一段時間,然后“停下來幾個小時”(從客戶的抱怨中推算出來)。
我們無法在內部復制此文件,但是我們從客戶那里得到的挫敗感使我們確實需要對其進行修復。
我們的客戶堅稱他們不會打電話,播放音頻或運行其他軟件,並且從看到他們的電話來看,我基本上相信他們。
我們已經在Jellybean上注意到了這一點,因為這是我們大多數客戶正在運行的東西,但是在這種情況下它可能並不孤立。
我是在做錯什么,還是有一種更好的方法來“發出提示”。 在這個階段,我很樂意嘗試一些不同的東西
void updateNotification()
{
Notification.Builder builder = new Notification.Builder(_context);
// Set the appearance of the notification:
int icon;
String title;
String description;
// ...
//CODE setting icon, title and description
// ...
builder.setSmallIcon(icon);
builder.setContentTitle(title);
builder.setContentText(description);
builder.setTicker(description);
// Set the sound for the notification:
builder.setSound(RingtoneManager.getDefaultUri(RingtoneManager.TYPE_ALARM));
Intent intent = new Intent(_context, MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_SINGLE_TOP);
intent.putExtra(MainActivity.EXTRA_TAB, MainActivity.EXTRA_TAB_TASKS);
builder.setContentIntent(PendingIntent.getActivity(_context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT));
// Update the notification:
NotificationManager manager = (NotificationManager)_context.getSystemService(Context.NOTIFICATION_SERVICE);
manager.notify(_notificationId, builder.build());
}
由於某些原因,我注意到某些設備在進入靜音或振動模式時會將所有音量(包括警報音量)靜音。 在這些模式下,對於這些設備,除非更改模式,否則無法更改此音量。
我曾讓用戶抱怨類似的問題,因此不得不通過強制更改模式來確保音量足夠大來進行處理。 然后,我播放音頻並將模式切換回原始配置。
編輯: 這是用戶對此發牢騷的帖子 。 請注意,在屏幕截圖中,靜音時禁用了“警報”的音量按鈕。
編輯2:在我的特定情況下,我運行以下檢查以查看是否需要增加音量:
if (audioManager.getRingerMode() != AudioManager.RINGER_MODE_NORMAL
&& audioManager.getStreamVolume(AudioManager.STREAM_ALARM) == 0) {
// Save current state and increase the volume
}
@Ricardo給出的答案當然值得在您的代碼中包括,而我將其留在我們的代碼中,但我的問題主要是由於手機的電源管理(這可能很明顯,但我是Android開發的新手)。
我們的通知必須在發送時發送,並且我們的用戶的手機正進入睡眠模式,因此我們添加了WakeLock (盡管要注意他們的電池壽命,只有在用戶“登錄”到我們的應用程序。在轉換結束后,WakeLock被釋放了)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.