は、私は携帯電話の通知をリッスンし、MessageApi
を経由してAndroid Wear端末にメッセージを送信するアプリを持っています。 Android 6、特にHuawei Mate 8(Huawei Android 6のすべてがそうしているように見える)を搭載したデバイスを除いて、すべてがうまくいきます。NotificationListenerServiceとDozeモードとAppスタンバイ
Huawei社は、アプリのバックグラウンド処理(保護されたアプリ)凍結の独自の実装を有しています。ユーザーのレポートから、私のアプリケーションはHuaweiの保護されたアプリケーションとAndroid 6のDozeモードで例外があることを確認しました。アプリは正常に動作しますが、ディスプレイをオフにして正確に15分後に、接続しているAndroid Wearの時計にメッセージを送信しなくなります。私のアプリは、受信した通知履歴を記録することもできます。電話のディスプレイがオンになり、アプリが開かれるまで、15分後に到着するものはありません。その後、携帯電話のディスプレイがオフになっている間に到着したはずのすべての通知が私のNotificationListenerService
実装に届き、すべて一度に時計に送信されます。これは記録された履歴でも確認されます。
任意のアイデアどのようにDozeモードとAndroidの6とこれらの携帯電話、特に華為メイト8のためにこれを修正するには?デバイスが居眠りモードになっているおよび/またはアプリがスタンバイモードのときに
NotificationListenerService
の正しい振る舞いとは何ですか?
EDIT
また、ユーザーは自分の携帯電話でもバックグラウンドのアプリとそれらのサービスに影響を与え省電力モードになっていないことを確認しています。このバグはHuaweiのように見えます.Nexusのユーザーはこれを報告しておらず、OnePlus One with Mもこれをしていないからです。また、NプレビューはNexus端末でうまく動作します。
EDIT 2
私は私のアプリは、このように私のアプリは、すべての電池の最適化から除外すべき通知センターで永久的な通知を、持っているオプションのフォアグラウンドサービス(startForeground()
)を追加しました。フォアグラウンドサービス通知では、私はNotificationCompat.PRIORITY_MIN
の優先度を使用し、Notification.FLAG_ONGOING_EVENT
フラグを追加しました。これはHuaweiの携帯電話では少し助けましたが、私のアプリを開いた後ではなく、画面がオンになった直後に通知が遅れてNotificationListenerService
に届きました。私はstartForeground()
を私のNotificationListenerService
に使用していませんが、別のService
には私はそのライフサイクルについてのコントロールがないので使用しません。
記事は、プッシュ通知ではなくローカルの通知についてです:誰もが知っている場合:)
リファレンスを共有してください。私は自分のアプリケーションのためのサーバーを持っていない、それは完全にオフラインですので、私は高優先度のプッシュ通知を介して電話を目覚めることはできません。その電話機に通知が表示されたときにプッシュ通知を電話機に送信することも不可能です... – shelll
この記事によれば、デバイスを復帰させることはできません – NecipAllef