我正在進行一項正在進行的服務,該服務正在偵聽與收音機的USB接口連接。當找到這樣的連接時,該服務更新其通知以反映所述連接;當連接丟失(例如通過拔下事件或關閉無線電)時,該服務將更新其通知以反映所述分離連接。該服務在檢測到更改時也會寫入數據庫,因此其他應用程序可以使用該信息。Android:OTG存儲通知與收音機衝突c
此服務在沒有配置爲OTG存儲的USB端口上正常工作。但是,如果使用啓用了OTG存儲的USB端口,則會遇到一些問題,即服務通知無法正確更新,即使數據庫已正確寫入。我相信這是因爲我連接的無線電也起着OTG存儲設備的作用,所以一旦與上述無線電建立連接,就會發生OTG存儲通知,並且我可能會丟失我的通知上下文。此外,如果OTG存儲之前斷開與無線電的連接能夠正確安裝,則服務通知和數據庫會正確更新。例如,如果我當前連接到無線電並且OTG存儲已經掛載,如果我斷開所述無線電,OTG存儲將卸載,但是我的服務通知不會反映該改變,儘管我可以看到在數據庫變更正確發生。
我在Android 4.0.4運行這一點,所以我覺得這個問題是僅僅因爲我的代碼已被否決:
import android.app.Notification;
import android.app.Notification.Builder;
import android.app.NotificationManager;
import android.app.PendingIntent;
Notification notification = new Notification(icon, contentTitle, time);
notification.setLatestEventInfo(this, contentTitle, contentText,
contentIntent);
notification.flags = Notification.FLAG_FOREGROUND_SERVICE
| Notification.FLAG_NO_CLEAR | Notification.FLAG_ONGOING_EVENT;
notificationManager.notify(NOTIFICATION_ID, notification);
但更新到Notification.Builder時,我仍然有問題:
Notification.Builder notiBuilder =
new Notification.Builder(this);
notiBuilder.setSmallIcon(icon);
notiBuilder.setContentTitle(contentTitle);
notiBuilder.setContentText(contentText);
notiBuilder.setContentIntent(contentIntent);
notiBuilder.setPriority(2);
notificationManager.notify(NOTIFICATION_ID, notiBuilder.getNotification());
所以我對這個問題可能會有些困惑。
請讓我知道你是否有任何想法或建議,或者如果有任何代碼我應該包括更有幫助。