1

通知がいつ届くかを知る必要があるアプリに取り組んでいます。このタスクにはアクセシビリティサービスを使用しています。

カスタム アクセシビリティ サービスにアクセス許可を与えると ([アクセシビリティ] -> [MyApp] -> [オン] に移動)、onServiceConnected が呼び出され、しばらくの間すべてが正常に機能します。私のアプリはイベントを受け取ります..

しかし、しばらくすると (1 時間程度)、私のアプリは新しい通知についての通知を受けなくなります。機能させるには、AccessibilityService を無効にしてから再度有効にする必要があります。

もちろん、ユーザーは毎回そうするわけではないので、これは受け入れられません..

以下は私のコードです。

  @Override
protected void onServiceConnected() {
    super.onServiceConnected();


    AccessibilityServiceInfo info = new AccessibilityServiceInfo();
    info.eventTypes = AccessibilityEvent.TYPE_NOTIFICATION_STATE_CHANGED;
    info.packageNames = null;
    info.feedbackType = AccessibilityServiceInfo.DEFAULT;
    setServiceInfo(info);

}

そしてマニフェスト。

 <!-- Accesibility Service Declaration below -->

    <service android:name="services.MyAccessibilityService"
        android:permission="android.permission.BIND_ACCESSIBILITY_SERVICE">
        <intent-filter>
            <action android:name="android.accessibilityservice.AccessibilityService" />

        </intent-filter>
    <meta-data android:name="android.accessibilityservice" android:resource="@xml/service_request" />

    </service>

テスト目的で、KitKat Android OS で動作する HTC One M7 を使用しました。では、なぜ私のアプリはしばらくすると通知を受信しなくなるのでしょうか? どんな助けでも本当に感謝します!

4

1 に答える 1

0

推奨される使用法は、AccessibilityService の代わりに NotificationListener を使用して通知を検出することだと思います

https://developer.android.com/reference/android/service/notification/NotificationListenerService.html

于 2016-09-01T02:40:48.100 に答える