2012-01-05 11 views
2

私のアプリケーションウィジェットでvolume upvolume downのkeyEventsを処理したいと思います。 実際にはapp widgetまたはサービスではなく、アクティビティで発生するはずです(ホーム画面が表示されるはずです)。ウィジェット/サービスでキーイベントを処理する方法はありますか?

しかし、私が知っている限り、アプリのウィジェットやサービスからユーザに反応する可能性はないようですので、私はkeyEventsを取得できません。

私の質問は、私が間違っていて、キーアクティビティを取得する可能性があるか、またはアクティビティを不可視にする可能性がありますか?

答えて

0

私はトリックを見つけました。それは本当に最高ではありませんが、私の場合、私はそれを使用することができます。

テーマのAndroidマニフェストで

android:theme="@android:style/Theme.Dialog" 

または

android:theme="@android:style/Theme.Translucent.NoTitleBar" 

を割り当てることで、それはダイアログのように見えるか、透明である活性を有することが可能です。ホーム画面が表示され、アクティビティでkeyEventsを取得できます。

アクティビティの実行中にユーザーがホーム画面とやりとりすることはできませんが、私の場合はこれは必ずしも必要ではありません。

2

「ウィジェット」とは「アプリウィジェット」を意味する場合、いいえ、アプリウィジェットのキーイベントには反応できません。

+0

私はもちろん「アプリウィジェット」を意味しています。 – tschob

+1

@tschob:「アプリウィジェット」に別の名前を付けて、 'TextView'のようなもの、あるいは「ウィジェット」が本当に「アプリウィジェット」を意味するのかどうか – CommonsWare

関連する問題