java怎么设置一个闹钟_java – 以编程方式设置android闹钟

MainActivity.java

public class MainActivity extends Activity {

TimePicker myTimePicker;

Button buttonstartSetDialog;

TextView textAlarmPrompt;

TimePickerDialog timePickerDialog;

final static int RQS_1 = 1;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

textAlarmPrompt = (TextView) findViewById(R.id.alarmprompt);

buttonstartSetDialog = (Button) findViewById(R.id.startAlaram);

buttonstartSetDialog.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

textAlarmPrompt.setText("");

openTimePickerDialog(false);

}

});

}

private void openTimePickerDialog(boolean is24r) {

Calendar calendar = Calendar.getInstance();

timePickerDialog = new TimePickerDialog(MainActivity.this,

onTimeSetListener, calendar.get(Calendar.HOUR_OF_DAY),

calendar.get(Calendar.MINUTE), is24r);

timePickerDialog.setTitle("Set Alarm Time");

timePickerDialog.show();

}

OnTimeSetListener onTimeSetListener = new OnTimeSetListener() {

@Override

public void onTimeSet(TimePicker view, int hourOfDay, int minute) {

Calendar calNow = Calendar.getInstance();

Calendar calSet = (Calendar) calNow.clone();

calSet.set(Calendar.HOUR_OF_DAY, hourOfDay);

calSet.set(Calendar.MINUTE, minute);

calSet.set(Calendar.SECOND, 0);

calSet.set(Calendar.MILLISECOND, 0);

if (calSet.compareTo(calNow) <= 0) {

// Today Set time passed, count to tomorrow

calSet.add(Calendar.DATE, 1);

}

setAlarm(calSet);

}

};

private void setAlarm(Calendar targetCal) {

textAlarmPrompt.setText("\n\n***\n" + "Alarm is set "

+ targetCal.getTime() + "\n" + "***\n");

Intent intent = new Intent(getBaseContext(), AlarmReceiver.class);

PendingIntent pendingIntent = PendingIntent.getBroadcast(

getBaseContext(), RQS_1, intent, 0);

AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);

alarmManager.set(AlarmManager.RTC_WAKEUP, targetCal.getTimeInMillis(),

pendingIntent);

}

}

Reciver.java

public class AlarmReceiver extends BroadcastReceiver {

@Override

public void onReceive(Context k1, Intent k2) {

// TODO Auto-generated method stub

Toast.makeText(k1, "Alarm received!", Toast.LENGTH_LONG).show();

}

}

main_activity.xml

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical"

android:padding="10dp" >

android:id="@+id/startAlaram"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="Set Alaram Time" />

android:id="@+id/alarmprompt"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:textColor="#000000" />

的Manifest.xml

android:icon="@drawable/ic_launcher"

android:label="@string/app_name"

android:theme="@style/AppTheme" >

android:name=".MainActivity"

android:label="@string/title_activity_main" >

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值