2011年2月12日土曜日

[Android] 画面の回転に反応するウィジットアプリケーションを作るには #2

How to Handle Orientation Changes in AppWidgets #2

画面の回転に反応するウィジットアプリケーションを作るにはではブロードキャストレシーバーかサービスが必要でした。
この他にAppWidgetProviderクラスのonReceiveメソッドとマニフェストによる方法でも可能です。

マニフェスト(AndroidManifest.xml)
intent-filterに
<action android:name="android.intent.action.CONFIGURATION_CHANGED"/>
を追加する。
レイアウト(res/layout/app_widget.xml)

appwidget-provider設定ファイル(res/xml/app_widget.xml.xml)
(resフォルダー配下に手動でxmlフォルダーを作ります)

ソース(AppWidget.java)

試行錯誤して遠回りしてしまいましたがAppWidgetProviderクラスだけで回転に反応できるこの方法がベストだと思います。
マニフェストの<intent-filter><action android:name="・・・・・"></intent-filter>を増やせば他のブロードキャストも受け取れるようです。

キーワード
AppWidgetProvider intent-filter onReceive Intent.ACTION_CONFIGURATION_CHANGED

以上、参考になれば幸いです。

画面に天気予報を常駐させるウィジットアプリ「お天気ロイド
画面回転にも対応する「Eye元気!
どちらも公開中です

0 件のコメント:

コメントを投稿