2012-04-23 14 views
0

Androidにステータスバーの状態を取得する可能性がありますか?特に新しい通知が追加されましたか?Android - >ステータスバーの状態が変更されました

ステータスバーに何か問題が発生した場合は、これを実行する必要があります。私は "ステータスバーのウィンドウ"を意味しません。

たぶん私は同じようIntentFilterを使用することができます。

IntentFilter statusBarIntentFilter = new IntentFilter(android.bla.bla.ACTION_STATUSBAR_STATE_CHANGED); 

は高度で、これまでありがとうございます!

BR

答えて

0

ステータスバーの状態を取得するには、Android内possibilyあり、特に新しい通知がそれに追加されたのですか?

いいえ、ごめんなさい。 Android SDKから他のアプリケーションの通知を監視することはできません。

+0

こんにちは、お返事ありがとうございます!他のアプリの通知内容を盗聴する意図はありません。私はちょうど、新しいシンボルやステータスバーに追加されたものがあれば知りたい。その後、私は様々な活動を始めたいと思います。私はAccessibilityService(AccessibilityEvent.TYPE_NOTIFICATION_STATE_CHANGED)を使うことができましたが、これには比較的深刻な/危険な権限が必要です! –

+1

@ReginaBalusz:IMHO、通知が表示されただけなので「さまざまなアクティビティを開始する」べきではありません。通知の背後にある主なポイントは、何も起こっていないときにユーザーを中断させることではありません。はい、アクセシビリティAPIを使用して通知を検出できますが、これらのAPIの背後にある点は、既存のアプリケーションフローを妨げることなくアクセシビリティ機能を提供することです。青からアクティビティをポップアップすると、「既存のアプリケーションフローを妨害する」とみなされます。 – CommonsWare

+0

あなたは「他のアプリの流れを妨げないでください」に関して完全に正しいです!問題は、Imが現在作成しているアプリケーションで、発生するすべてのCalenderイベントをリッスンすることです。残念ながら、IntentFilterはありません.InterentFilterは、カレンダーによって起動された「Reminder-Events」を聞くために使用できます。このIntentFilterは、BroadcastReceiverで使用できます。私が決定した唯一の方法は、カレンダーアプリがリマインダーの場合にステータスバーに通知を追加することです。だから私は、新しい通知がSTatusバーに追加されたという情報を得る方法を見つけることを考えていました。私はaltを探しています。 –

0

ステータスバーの状態を取得する可能性はありますか?特に、新しい通知が追加されましたか?

AccessibilityEvent.TYPE_NOTIFICATION_STATE_CHANGEDを使用してステータスバーの通知を聞くことができます。

ここにはStackOverflow answerがあり、その回答に基づいてまとめました。here is a working example実際には、アプリケーションが本質的に広告で私の妻の通知バーをスパムしていて、問題のアプリケーションが誰であったかを明確に伝える方法がなかったため、この例をまとめました。

+0

サンプルアプリケーションドメインが無効です – codercat

+0

@iDevリンクを更新しました。 – TomJ

関連する問題