AlarmClockクラスを使用してアラームをセットする
|AlarmClockクラスはAndroid SDK 2.3から追加されたクラスです。
AlarmClockクラスを使用することで、android.intent.action.SET_ALARMのアクションを持つIntentに連携し、アラームをセットすることができます。
続きでAlarmClockクラスの使用方法を説明します。
パーミッションの追加
AlarmClockクラスを使用するにはパーミッションにcom.android.alarm.permission.SET_ALARMを追加する必要があります。
AndroidManifest.xml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <?xml version= "1.0" encoding= "utf-8" ?> <manifest xmlns:android= "http://schemas.android.com/apk/res/android" package = "org.jpn.techbooster.sample.AlarmProviderSample" android:versionCode= "1" android:versionName= "1.0" > <application android:icon= "@drawable/icon" android:label= "@string/app_name" > ・・・省略・・・ </application> <uses-sdk android:minSdkVersion= "9" /> <uses-permission android:name= "com.android.alarm.permission.SET_ALARM" ></uses-permission> </manifest> |
Intentの宣言と連携
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | public class AlarmProviderSample extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super .onCreate(savedInstanceState); setContentView(R.layout.main); //Intentの宣言 Intent intent = new Intent(AlarmClock.ACTION_SET_ALARM); //アラームにセットする時間を指定 intent.putExtra(AlarmClock.EXTRA_HOUR, 10 ); //アラームにセットするメッセージを指定 intent.putExtra(AlarmClock.EXTRA_MESSAGE, "set by AlarmClock" ); //アラームにセットする分を指定 intent.putExtra(AlarmClock.EXTRA_MINUTES, 10 ); startActivity(intent); } } |
まずAlarmClock.ACTION_SET_ALARMを指定してIntentを宣言します。
連携先に渡せるデータは3種類あります。
4行目ではアラームにセットする時間を指定しています。
6行目ではアラームにセットするメッセージを指定しています。
8行目ではアラームにセットする分を指定しています。
サンプル通りに記述しエミュレータで実行すると、10時10分に「set by AlarmClock」というトーストが表示されるアラームがセットされます。
セットされたアラームの内容はエミュレータのClockアプリで確認することができます。(冒頭のスクリーンショット参照)