刚学android 这是一个闹钟目的是给定一个时间 然后到了指定时间后去启动闹钟 但是只要一运行程序闹钟就会响 因为很多代码意思不了解 所以解决不了 希望有大神给个指导
package com.example.alarm;import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;import android.os.Bundle;
import android.app.Activity;
import android.app.AlarmManager;
import android.app.PendingIntent;
import android.app.Service;
import android.app.TimePickerDialog;
import android.content.Intent;import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TimePicker;
import android.widget.Toast;
public class MainActivity extends Activity
{
Button setTime;
AlarmManager aManager;
Calendar currentTime = Calendar.getInstance();
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 获取程序界面的按钮
//setTime = (Button) findViewById(R.id.setTime);
// 获取AlarmManager对象
aManager = (AlarmManager) getSystemService(Service.ALARM_SERVICE);
//为“设置闹铃”按钮绑定监听器。
Calendar currentTime = Calendar.getInstance();
String dateString = "2013-09-07";
String pattern = "yyyy'-'MM'-'dd"; SimpleDateFormat dateFormat = new SimpleDateFormat(pattern);
Date date;
try {
date = dateFormat.parse(dateString);
long milSecond = date.getTime();
// 指定启动AlarmActivity组件
Intent intent = new Intent(MainActivity.this
, AlarmActivity.class);
// 创建PendingIntent对象
PendingIntent pi = PendingIntent.getActivity(
MainActivity.this, 0, intent, 0);
Calendar c = Calendar.getInstance();
// c.setTimeInMillis(System.currentTimeMillis());
//System.out.println(System.currentTimeMillis());
c.setTimeInMillis(milSecond);
System.out.println(milSecond);
System.out.println(System.currentTimeMillis());
System.out.println(c.getTimeInMillis());
// 根据用户选择时间来设置Calendar对象
c.set(Calendar.PM, 0);
c.set(Calendar.HOUR ,4);
c.set(Calendar.MINUTE , 10);
c.set(Calendar.SECOND , 0); ///////////////////////////////////////////////////////////////
c.set(Calendar.MILLISECOND, 0);
// 设置AlarmManager将在Calendar对应的时间启动指定组件
aManager.set(AlarmManager.RTC_WAKEUP
, c.getTimeInMillis(), pi);
// 显示闹铃设置成功的提示信息
Toast.makeText(MainActivity.this ,
"闹铃设置成功啦" , 5000).show(); } catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// 得到毫秒数
/* setTime.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View source)
{
Calendar currentTime = Calendar.getInstance();
// 创建一个TimePickerDialog实例,并把它显示出来。
new TimePickerDialog(MainActivity.this,
0, // 绑定监听器
new TimePickerDialog.OnTimeSetListener()
{
@Override
public void onTimeSet(TimePicker tp, int hourOfDay,
int minute)
{
// 指定启动AlarmActivity组件
Intent intent = new Intent(MainActivity.this
, AlarmActivity.class);
// 创建PendingIntent对象
PendingIntent pi = PendingIntent.getActivity(
MainActivity.this, 0, intent, 0);
Calendar c = Calendar.getInstance();
c.setTimeInMillis(System.currentTimeMillis());
// 根据用户选择时间来设置Calendar对象
c.set(Calendar.HOUR , hourOfDay);
c.set(Calendar.MINUTE , minute);
c.set(Calendar.SECOND , 0); ///////////////////////////////////////////////////////////////
c.set(Calendar.MILLISECOND, 0);
// 设置AlarmManager将在Calendar对应的时间启动指定组件
aManager.set(AlarmManager.RTC_WAKEUP
, c.getTimeInMillis(), pi);
// 显示闹铃设置成功的提示信息
Toast.makeText(MainActivity.this ,
"闹铃设置成功啦" , 5000).show();
}
}, currentTime.get(Calendar.HOUR_OF_DAY)
, currentTime.get(Calendar.MINUTE), false)
.show();
}
});*/
}
}
android
package com.example.alarm;import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;import android.os.Bundle;
import android.app.Activity;
import android.app.AlarmManager;
import android.app.PendingIntent;
import android.app.Service;
import android.app.TimePickerDialog;
import android.content.Intent;import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TimePicker;
import android.widget.Toast;
public class MainActivity extends Activity
{
Button setTime;
AlarmManager aManager;
Calendar currentTime = Calendar.getInstance();
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 获取程序界面的按钮
//setTime = (Button) findViewById(R.id.setTime);
// 获取AlarmManager对象
aManager = (AlarmManager) getSystemService(Service.ALARM_SERVICE);
//为“设置闹铃”按钮绑定监听器。
Calendar currentTime = Calendar.getInstance();
String dateString = "2013-09-07";
String pattern = "yyyy'-'MM'-'dd"; SimpleDateFormat dateFormat = new SimpleDateFormat(pattern);
Date date;
try {
date = dateFormat.parse(dateString);
long milSecond = date.getTime();
// 指定启动AlarmActivity组件
Intent intent = new Intent(MainActivity.this
, AlarmActivity.class);
// 创建PendingIntent对象
PendingIntent pi = PendingIntent.getActivity(
MainActivity.this, 0, intent, 0);
Calendar c = Calendar.getInstance();
// c.setTimeInMillis(System.currentTimeMillis());
//System.out.println(System.currentTimeMillis());
c.setTimeInMillis(milSecond);
System.out.println(milSecond);
System.out.println(System.currentTimeMillis());
System.out.println(c.getTimeInMillis());
// 根据用户选择时间来设置Calendar对象
c.set(Calendar.PM, 0);
c.set(Calendar.HOUR ,4);
c.set(Calendar.MINUTE , 10);
c.set(Calendar.SECOND , 0); ///////////////////////////////////////////////////////////////
c.set(Calendar.MILLISECOND, 0);
// 设置AlarmManager将在Calendar对应的时间启动指定组件
aManager.set(AlarmManager.RTC_WAKEUP
, c.getTimeInMillis(), pi);
// 显示闹铃设置成功的提示信息
Toast.makeText(MainActivity.this ,
"闹铃设置成功啦" , 5000).show(); } catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// 得到毫秒数
/* setTime.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View source)
{
Calendar currentTime = Calendar.getInstance();
// 创建一个TimePickerDialog实例,并把它显示出来。
new TimePickerDialog(MainActivity.this,
0, // 绑定监听器
new TimePickerDialog.OnTimeSetListener()
{
@Override
public void onTimeSet(TimePicker tp, int hourOfDay,
int minute)
{
// 指定启动AlarmActivity组件
Intent intent = new Intent(MainActivity.this
, AlarmActivity.class);
// 创建PendingIntent对象
PendingIntent pi = PendingIntent.getActivity(
MainActivity.this, 0, intent, 0);
Calendar c = Calendar.getInstance();
c.setTimeInMillis(System.currentTimeMillis());
// 根据用户选择时间来设置Calendar对象
c.set(Calendar.HOUR , hourOfDay);
c.set(Calendar.MINUTE , minute);
c.set(Calendar.SECOND , 0); ///////////////////////////////////////////////////////////////
c.set(Calendar.MILLISECOND, 0);
// 设置AlarmManager将在Calendar对应的时间启动指定组件
aManager.set(AlarmManager.RTC_WAKEUP
, c.getTimeInMillis(), pi);
// 显示闹铃设置成功的提示信息
Toast.makeText(MainActivity.this ,
"闹铃设置成功啦" , 5000).show();
}
}, currentTime.get(Calendar.HOUR_OF_DAY)
, currentTime.get(Calendar.MINUTE), false)
.show();
}
});*/
}
}
android
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货