0

私のテストに基づいて、アンドロイドアプリのNotificationListenerService(NLS)がAndroid 8(Oreo)のシステムにバインドされていないようです。私は新しいOSとの互換性を持たせるため、SDKバージョン26のために自分のアプリをターゲットにしています。NotificationListenerServiceがAndroid 8(Oreo)のSystemUIにバインドされていません

Android Nより前では、NLSサービスはSystemUIに永久にバインドされました(Ref: Google I/O 2016)。 Android Nから、NLSサービスに導入された新しいメソッドは、requestRebind(ComponentName)requestUnbind()の2つです。

Android Oreoには、サービスに適用される新しいBackground Execution Limitsがあります。ただし、「別のアプリケーションがバインドする通知リスナー」などの特定のサービスには適用されません。 SystemUIにバインドされているはずのNLSサービスを使用しているので、これは私の使用例です。

しかし、私が見てきたように、このサービスはSystemUIに束縛されることはありません。さらに、私が明示的にrequestRebind(ComponentName)と呼んでも、サービスが決して束縛されていないので、機能していないので、通知を聞くことができません。

Android Oreoでこの問題を解決するにはどうすればよいですか?

答えて

0

ああ、これは愚かです!問題はリブートによって解決されました。私はアンドロイドが自分の携帯電話で誤動作していて、正しい方法で作業することを単に拒否したと思う。電話機をリブートして、やり直してみて、サービスが正常に動作するようにしてください!

この質問は、時には最も簡単で最もクリシッヒな修正(つまり「これをもう一度やり直してみましたか?」)の朗報として残しておきます。

良い悲しみ!

関連する問題