問題タブ [accessibilityservice]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
18171 参照

android - 通知が通知されたときに通知を受け取る方法

他のアプリケーションによって通知バーで発生した通知を読み取り/アクセス/ログに記録したいと考えています。

Intents色々と調べPendingIntentsたのですが、解決に至りませんでした。

通知が発生した場合、アプリケーションに通知する必要がありますか?

または、Android システムは、ユーザーレベルのアプリケーションによる通知を読み取るための何かを提供していますか?

0 投票する
2 に答える
10143 参照

android - AccessibilityService は開始されていますが、JellyBean で AccessibilityEvents を受け取りません

着信通知を読み上げる AccessibilityService があります。ICS 以下では正常に動作しますが、JB では動作しなくなりました。

以下はマニフェストとコードです。


前に述べたように、それは魅力のようにすべての preJB-Devices で動作しますが、JB ではサービスが開始されますが (「接続されています」と表示されます)、単一のイベントは発生しません。

コードに何か問題がありますか?

0 投票する
0 に答える
1101 参照

android - ユーザー補助サービスをデバッグするには?

AccessibilityServiceのデバッグに問題があり、解決策が見つかりません。Eclipseからのデプロイ/デバッグのたびに、サービスが自動的に再起動されず、サービスを手動で再起動する必要があります。

私が今しなければならないこと:

  1. 新しいコードをいくつか追加し、Eclipse でデプロイ/デバッグしています。
  2. アプリケーションは正しくデプロイされて開始されていますが、新しいバージョンのサービスは開始されていません (サービスからのメッセージが表示されず、ブレークポイントが機能していません)。
  3. 手動で設定 -> アクセシビリティを開いて、サービスが実行されていることを確認します。
  4. サービスを手動で停止および開始しています - 現在、サービスは機能しています。

私はより速い方法でそれをしたい:

  • いくつかのコードを追加してデプロイし、サービスを再起動すると、手動で退屈な再起動をしなくてもブレークポイントが機能します!

手動で再起動せずにアクセシビリティ サービスをデバッグする方法を教えてください。

0 投票する
4 に答える
7659 参照

android - 通知が削除されたかどうかを検出する

次の問題があります。通知バーから通知が削除されたことを検出したい。

AccessbilityService で通知をスキャンし、その ParcelableData を通知にキャストできます

私の考えの 1 つは、通知の PendingIntent がクリックされたかどうかを利用することでしたが、それを検出する方法については何も見つかりません。

何か案は?私はちょっと必死です...今何時間も試しています。

0 投票する
2 に答える
2879 参照

android - ユーザー補助サービスを使用して通知アイコンを取得する

システム通知のアイコンを取得する方法はありますか? アクセシビリティ サービスで通知小包を受け取ることができます。そこからアイコンのIDを取得することもできますが、そこで立ち往生しています。ID を使用して実際のビットマップを取得し、それを表示できるようにする方法がわかりません。これは、apk からのものではないためです。

これまでの私のコードは次のとおりです。

この ID を使用しようとすると、

android.content.res.Resources$NotFoundException: リソース ID #0x7f0200ad

0 投票する
0 に答える
3526 参照

android - Android AccessibilityService が接続しない

通知イベントを傍受するために AccessibiltyService を拡張しようとしています。私の問題は、私のクラスがサービスに接続しないことによって作成されることです。

これが私のアプリの仕組みです:

  • いくつかの統計の収集を管理し、通知イベントも監視する必要があるサービス (StatisticsService) があります。
  • そのために、対象の統計ごとに StatCollector (Java オブジェクト) を作成します。
  • すべての StatCollector は同じインターフェースを実装し、作成されると StatisticService コンテキストを保存します。
  • この StatCollector の 1 つが、AccessibilityService を拡張する NotificationService を開始します。

関連するクラスは次のとおりです。

StatCollector:

通知サービス:

Manifest.xml: (関連コンポーネント)

android.permission.BIND_ACCESSIBILITY_SERVICE を NotificationService に追加すると、アプリが次のエラーでクラッシュすることに注意してください

問題は、BIND_ACCESSIBILITY_SERVICE 権限があることを明示的に言及していないため、システムが NotificationService クラスを無視していることだと思います。しかし、マニフェスト ファイルのサービスに追加すると、アプリがクラッシュします。

私は何が欠けていますか/間違っていますか?

ありがとう

アップデート

Dr.Cyanideのコメントのおかげで、特定のアプリのアクセシビリティは、ユーザーが [設定] の [アクセシビリティ] メニューで有効にする必要があることがわかりました。

さらにタグは

ジェリービーン以前のバージョンには必要ないので、ICSを使用しているので削除しました。

アプリは期待どおりに動作するようになりました

0 投票する
0 に答える
174 参照

android - Android通知の存在を確認しています

ステータスバーに通知が存在するかどうか(できれば非永続的な通知のみ)をプログラムで確認できるようにしたいと考えています。これには、アプリによって作成された通知だけでなく、すべての通知が含まれる必要があります。特定の通知や総数に関する情報は必要ありません。現在、ステータス バーに通知が表示されているかどうかを知りたいだけです。

調査したところ、アクセシビリティ サービスに対処する必要がある可能性が高いことがわかりました。それは問題ありませんが、これまでのところ、現在の通知を確認するソリューションは見つかりませんでした。これまでのすべてのソリューションは、新しい通知を検出する方法のみを示しています。いつでもクエリを実行して、通知の有無を確認できるようにしたいと考えています。

1 つの (醜い) オプションは、すべての新しい通知と通知のクリアを常に追跡することですが、これは信頼できないかもしれません。もっと簡単できれいな方法があるかどうか知りたいです。

どんなガイダンスも本当に役に立ちます。