闹钟设置项目 ---- android应用开发揭秘
来源:互联网 发布:视频加边框软件 编辑:程序博客网 时间:2024/04/29 17:14
Activity01.java
package com.yarin.android.Examples_07_07;
import java.util.Calendar;
import android.app.Activity;
import android.app.AlarmManager;
import android.app.PendingIntent;
import android.app.TimePickerDialog;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.TimePicker;
public class Activity01 extends Activity
{
Button mButton1;
Button mButton2;
TextView mTextView;
Calendar calendar;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
calendar=Calendar.getInstance();
mTextView=(TextView)findViewById(R.id.TextView01);
mButton1=(Button)findViewById(R.id.Button01);
mButton2=(Button)findViewById(R.id.Button02);
mButton1.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
calendar.setTimeInMillis(System.currentTimeMillis());
int mHour=calendar.get(Calendar.HOUR_OF_DAY);
int mMinute=calendar.get(Calendar.MINUTE);
new TimePickerDialog(Activity01.this,
new TimePickerDialog.OnTimeSetListener()
{
public void onTimeSet(TimePicker view,int hourOfDay,int minute)
{
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.set(Calendar.HOUR_OF_DAY,hourOfDay);
calendar.set(Calendar.MINUTE,minute);
calendar.set(Calendar.SECOND,0);
calendar.set(Calendar.MILLISECOND,0);
/* 建立Intent和PendingIntent,来调用目标组件 */
Intent intent = new Intent(Activity01.this, AlarmReceiver.class);
PendingIntent pendingIntent=PendingIntent.getBroadcast(Activity01.this,0, intent, 0);
AlarmManager am;
/* 获取闹钟管理的实例 */
am = (AlarmManager)getSystemService(ALARM_SERVICE);
/* 设置闹钟 */
am.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pendingIntent);
/* 设置周期闹 */
am.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + (10*1000), (24*60*60*1000), pendingIntent);
String tmpS="设置闹钟时间为"+format(hourOfDay)+":"+format(minute);
mTextView.setText(tmpS);
}
},mHour,mMinute,true).show();
}
});
mButton2.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
Intent intent = new Intent(Activity01.this, AlarmReceiver.class);
PendingIntent pendingIntent=PendingIntent.getBroadcast(Activity01.this,0, intent, 0);
AlarmManager am;
/* 获取闹钟管理的实例 */
am =(AlarmManager)getSystemService(ALARM_SERVICE);
/* 取消 */
am.cancel(pendingIntent);
mTextView.setText("闹钟已取消!");
}
});
}
/* 格式化字符串(7:3->07:03) */
private String format(int x)
{
String s = "" + x;
if (s.length() == 1)
s = "0" + s;
return s;
}
}
AlarmReceiver.java
package com.yarin.android.Examples_07_07;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.widget.Toast;
public class AlarmReceiver extends BroadcastReceiver
{
public void onReceive(Context context, Intent intent)
{
Toast.makeText(context, "你设置的闹钟时间到了", Toast.LENGTH_LONG).show();
}
}
main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:id="@+id/TextView01"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
<Button
android:id="@+id/Button01"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="设置闹钟"
/>
<Button
android:id="@+id/Button02"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="取消闹钟"
/>
</LinearLayout>
- 闹钟设置项目 ---- android应用开发揭秘
- 铃声设置项目 ------ android应用开发揭秘
- 录音项目源代码 ----- Android 应用开发揭秘
- Android应用开发揭秘
- 书讯:《Android应用开发揭秘》
- Android应用开发揭秘 第一章
- android 闹钟设置
- Android闹钟设置
- 设置Android闹钟
- android 闹钟设置
- android 设置闹钟
- Android之设置闹钟
- android 闹钟设置
- Android闹钟设置
- Android---AlarmManager闹钟设置
- Android设置闹钟
- Android - AlarmManager设置闹钟
- Android之设置闹钟
- init进程
- jsp页面不执行当前页面的js方法
- 这些年的项目管理心得
- inittab文件
- 怎样选择TCP或者UDP??
- 闹钟设置项目 ---- android应用开发揭秘
- 使用jquery实现点击按钮弹出层和点击空白处隐藏层
- WIN BAT实现文件传送
- Android 中反编译APK的方法
- nginx 源码学习笔记(二十一)—— event 模块(二) ——事件驱动核心ngx_process_events_and_timers
- 5分钟搞定用mac控制你的PC: REALVNC 转自 babyhelen87
- hdoj 1281 棋盘游戏
- DB2 administrator用户没有权限的问题
- Android在标准linux基础上对休眠唤醒的实现(一)