Your SlideShare is downloading. ×
0
Android Hacks - Hack15
Android Hacks - Hack15
Android Hacks - Hack15
Android Hacks - Hack15
Android Hacks - Hack15
Android Hacks - Hack15
Android Hacks - Hack15
Android Hacks - Hack15
Android Hacks - Hack15
Android Hacks - Hack15
Android Hacks - Hack15
Android Hacks - Hack15
Android Hacks - Hack15
Android Hacks - Hack15
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Android Hacks - Hack15

929

Published on

「Android Hacks ―プロが教えるテクニック & ツール」(株式会社ブリリアントサービス 著)を教材とした勉強会でのまとめ資料です。 …

「Android Hacks ―プロが教えるテクニック & ツール」(株式会社ブリリアントサービス 著)を教材とした勉強会でのまとめ資料です。

http://www.oreilly.co.jp/books/9784873114569/

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
929
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. ANDROID HACKS #15 アラームを使う 担当:いぐさ Twitter : @ginyutok 09/19/11
  • 2. この資料について <ul><li>この資料は下記の本をベースに勉強会で作成した資料です。 </li></ul><ul><ul><li>『 Android Hacks 』(株式会社ブリリアントサービス著、オライリー・ジャパン刊) </li></ul></ul><ul><li>この本の紹介ページが下記にあります。 </li></ul><ul><ul><li>http://www.oreilly.co.jp/books/9784873114569/ </li></ul></ul>09/19/11
  • 3. アジェンダ <ul><li>目覚ましアプリを作る </li></ul><ul><ul><li>アラームを設定する </li></ul></ul><ul><ul><li>指定した時刻にアラームを起動させる </li></ul></ul><ul><ul><li>アラームの優先順位 </li></ul></ul><ul><li>Hack をさらに Hack する </li></ul><ul><ul><li>アラームでサービスやブロードキャストを実行する </li></ul></ul><ul><ul><li>タイムゾーンを設定する </li></ul></ul>09/19/11
  • 4. 1. 目覚ましアプリを作る 09/19/11
  • 5. 1. 目覚ましアプリを作る 09/19/11 ① ② ③ ④
  • 6. 1-1. アラームを設定する <ul><li>アラームの設定 </li></ul><ul><ul><li>AlarmManager クラス </li></ul></ul><ul><ul><li>Context.getSystemService メソッドでインスタンスを取得 </li></ul></ul><ul><ul><ul><li>例: </li></ul></ul></ul><ul><ul><li>AlarmManager am = (AlarmManager)getSystemService ( ALARM_SERVICE); </li></ul></ul>09/19/11
  • 7. 1-1. アラームを設定する <ul><li>アラームの設定 </li></ul><ul><ul><li>AlarmManager.set または setRepeating メソッドでアラームの設定 </li></ul></ul><ul><ul><ul><li>例: </li></ul></ul></ul><ul><ul><ul><li>am.setRepeating(AlarmManager. RTC_WAKEUP, next_time, AlarmManager.INTERVAL_DAY, sender); </li></ul></ul></ul>09/19/11 引数 意味 第1引数 アラームのタイプ 第 2 引数 アラームの起動時刻 (ms) 第 3 引数 アラームを起動する間隔 (ms) (※setRepeating のみ ) 第 4 引数 アラーム起動時にブロードキャストされるインテント
  • 8. 1-2. 指定した時刻にアラームを起動させる <ul><li>アラームの起動 </li></ul><ul><ul><li>指定した時刻にブロードキャストされるインテントがアクティビティを起動させる </li></ul></ul><ul><ul><li>PendingIntent.getActivity メソッドで起動 </li></ul></ul><ul><ul><ul><li>例: </li></ul></ul></ul><ul><li>PendingIntent sender = PendingIntent. getActivity(SettingActivity.this, 0, </li></ul><ul><li>new Intent(SettingActivity.this, WakeupActivity.class), PendingIntent. FLAG_CANCEL_CURRENT); </li></ul>09/19/11
  • 9. 1-3. アラームの優先順位 <ul><li>アラームの優先順位 </li></ul><ul><ul><li>ブロードキャストされるインテントが同じ場合 </li></ul></ul><ul><ul><ul><li>後に呼ばれたアラームが有効 </li></ul></ul></ul><ul><ul><ul><li>am.set(AlarmManager.RTC, next_time, sender); </li></ul></ul></ul><ul><ul><ul><li>am.set(AlarmManager.RTC, next_time, sender); </li></ul></ul></ul><ul><ul><li>ブロードキャストされるインテントが異なる場合 </li></ul></ul><ul><ul><ul><li>不定 </li></ul></ul></ul><ul><ul><ul><li>am.set(AlarmManager.RTC, next_time, sender); </li></ul></ul></ul><ul><ul><ul><li>am.set(AlarmManager.RTC, next_time, t_sender); </li></ul></ul></ul>09/19/11
  • 10. 1-3. アラームの優先順位 <ul><li>連続で AlarmManager.set を呼び出したい </li></ul><ul><ul><li>AlarmManager.cancel メソッドを呼び出す </li></ul></ul><ul><ul><ul><li>am.set(AlarmManager.RTC, next_time, sender); </li></ul></ul></ul><ul><ul><ul><li>am.cancel(sender); </li></ul></ul></ul><ul><ul><ul><li>am.set(AlarmManager.RTC, next_time, t_sender); </li></ul></ul></ul>09/19/11
  • 11. 2. Hack をさらに Hack する 09/19/11
  • 12. 2-1. アラームでサービスやブロードキャストを実行する <ul><li>アクティビティを起動する場合 </li></ul><ul><ul><li>PendingIntent.getActivity </li></ul></ul><ul><li>サービスを開始する場合 </li></ul><ul><ul><li>PendingIntent.getService </li></ul></ul><ul><li>ブロードキャストを実行する場合 </li></ul><ul><ul><li>PendingIntent.getBroadcast </li></ul></ul><ul><ul><li>ただしレシーバが必要になる </li></ul></ul><ul><ul><ul><li>BroadcastReciever クラスを拡張 </li></ul></ul></ul><ul><ul><ul><li>AndroidManifest.xml に作成したレシーバを登録 </li></ul></ul></ul>09/19/11
  • 13. 2-2. タイムゾーンを設定する <ul><li>AlarmManager.setTimeZone </li></ul><ul><ul><li>タイムゾーンを内部的に設定 </li></ul></ul>09/19/11
  • 14. 参考 URL <ul><li>Android Developers </li></ul><ul><ul><li>http://developer.android.com/intl/ja/index.html </li></ul></ul>09/19/11

×