アラームを設定する |
ここではアラームを設定する方法を確認していきます。
アラームを設定するためには「 AlarmClock.ACTION_SET_ALARM 」でアクションを指定したインテントを発行する必要があります。サンプルでは、TimePickerで入力した時刻と、EditTextで入力したメッセージをインテントへ指定し、アラームの起動時刻と表示メッセージを設定します。 また、アラームを設定するためには「 AndroidManifest.xml 」で <uses-permission android:name="com.android.alarm.permission.SET_ALARM"/> とパーミッションを設定する必要があるので気を付けてください。 AlarmActivity.java package goodroid.sample.alarm; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.provider.AlarmClock; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.TimePicker; public class AlarmActivity extends Activity implements OnClickListener{ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); // ボタンの取得 Button btn = (Button)findViewById(R.id.btn); // ボタンをリスナーに登録 btn.setOnClickListener(this); } // ボタン押下時の処理 public void onClick(View v) { // TimePickerインスタンスを取得 TimePicker timePicker = (TimePicker)findViewById(R.id.time_picker); // 設定時刻の時間を取得 int hour = timePicker.getCurrentHour(); // 設定時刻の分を取得 int min = timePicker.getCurrentMinute(); // アラームを設定するインテントを取得する Intent intent = new Intent(AlarmClock.ACTION_SET_ALARM); // アラーム時刻を設定する intent.putExtra(AlarmClock.EXTRA_HOUR, hour); intent.putExtra(AlarmClock.EXTRA_MINUTES, min); // テキストボックスを取得 EditText editText = (EditText)findViewById(R.id.msg); // 入力されたメッセージを取得 String msg = editText.getText().toString(); // アラームメッセージを設定する intent.putExtra(AlarmClock.EXTRA_MESSAGE, msg); // インテントを発行する startActivity(intent); } } main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TimePicker android:id="@+id/time_picker" android:layout_height="wrap_content" android:layout_width="match_parent" /> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="メッセージ:" /> <EditText android:id="@+id/msg" android:layout_width="match_parent" android:layout_height="wrap_content" /> <Button android:id="@+id/btn" android:layout_height="wrap_content" android:layout_width="150dp" android:layout_gravity="center" android:text="設定する" /> </LinearLayout> AndroidManifest.xml <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="goodroid.sample.alarm" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="10" /> <uses-permission android:name="com.android.alarm.permission.SET_ALARM"/> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" > <activity android:name=".AlarmActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest> 8行目でパーミッションの設定を行っています。 本ソースを実行すると、下のような画面になります。 実行結果 ![]() 管理画面のイメージ ※本ソースには含まれません。 ![]() |
18567 views | コメント:2 | 2012-06-19 |
コメント
|