Android 台灣中文網
標題:
鬧鐘程式遇到的問題(有附Code)
[打印本頁]
作者:
free576002
時間:
2015-3-27 21:21
標題:
鬧鐘程式遇到的問題(有附Code)
假設我設定(2015/01/01 早上00:0)時會Log.e("TAG","123");
但是時間一到卻沒有反應
但如果我是設定30秒後Log.e("TAG","123");卻可以
請問是我寫的code哪裡有問題呢
-
畫面布局只有兩個btn跟Textview
-
import java.util.Calendar;
import android.R.string;
import android.app.Activity;
import android.app.AlarmManager;
import android.app.DatePickerDialog;
import android.app.Dialog;
import android.app.PendingIntent;
import android.app.TimePickerDialog;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.renderscript.Sampler.Value;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.TextView;
import android.widget.TimePicker;
public class MainActivity extends Activity {
/**Date**/
private Button dateButton;
private Calendar calendar =Calendar.getInstance();
private int mYear = calendar.get(Calendar.YEAR),
mMonth = calendar.get(Calendar.MONTH),
mDay = calendar.get(Calendar.DAY_OF_MONTH);
private TextView dateText;
private DatePickerDialog datePickerDialog;
/**Time**/
private Button timeButton;
private int mHour = calendar.get(Calendar.HOUR_OF_DAY),
mMin = calendar.get(Calendar.MINUTE);
private TextView timeText;
private TimePickerDialog timePickerDialog;
/****/
int init, init2=0 ;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//Text及Btn
Button dateBtn = (Button)findViewById(R.id.dateButton);
dateText = (TextView)findViewById(R.id.dateText);
Button timeBtn = (Button)findViewById(R.id.timeButton);
timeText = (TextView)findViewById(R.id.timeText);
//Date按鈕監聽
dateBtn.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v){
showDialog(0);
datePickerDialog.updateDate(mYear, mMonth, mDay);
}
});
//Time按鈕監聽
timeBtn.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v){
showDialog(1);
timePickerDialog.updateTime(mHour, mMin);
}
});
}
@Override
protected Dialog onCreateDialog(int id, Bundle args){
switch(id)//get showDialog, ↑id is showDialog
{
case 0://Date
datePickerDialog = new DatePickerDialog(this, new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int month,int day) {
mYear = year;
mMonth = month+1;
mDay = day;
init = 1;
date();
}
}, mYear,mMonth, mDay);
return datePickerDialog;
case 1://Time
timePickerDialog = new TimePickerDialog(this, new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
// TODO Auto-generated method stub
mHour = hourOfDay;
mMin = minute;
init = 0;
date();
}
}, mHour,mMin, false);
return timePickerDialog;
}
return null;
}
protected void date() {
// TODO Auto-generated method stub
if (init == 1) {
dateText.setText("你設定的日期為"+mYear+"年"+mMonth+"月"+mDay+"日");
init2 = init2+1;
} else if ( init == 0) {
timeText.setText("你設定的時間為"+mHour+":"+mMin);
init2 = init2+1;
}
if (init2 ==2) {
Log.e("ready","start");
Log.e("ok",String.valueOf(mYear)+"年"+String.valueOf(mMonth)+"月"+String.valueOf(mDay)+"日"
+String.valueOf(mHour)+":"+String.valueOf(mMin));
/****/
Calendar cal = Calendar.getInstance();
cal.set(mYear,mMonth,mDay,mHour,mMin);
Intent intent = new Intent();
intent.setClass(this, AlarmReceiver.class);
PendingIntent pending = PendingIntent.getBroadcast(this, 0, intent, 0);
AlarmManager alarm = (AlarmManager) this.getSystemService(Context.ALARM_SERVICE);
alarm.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), pending);
init2 = 0;
Log.e("initing","init ok");
}
}
}
複製代碼
package com.showview;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.util.Log;
public class AlarmReceiver extends BroadcastReceiver {
private static final String TAG = "from Activity";
@Override
public void onReceive(Context ctx, Intent intent) {
Log.d(TAG, "123");
}
}
複製代碼
歡迎光臨 Android 台灣中文網 (https://apk.tw/)
Powered by Discuz! X3.1