में हर सोमवार को अलार्म दोहराएं मैं हर सोमवार को 09:00 पूर्वाह्न & 05:00 अपराह्न पर अपना काम दोहराना चाहता हूं। मैंने इसके लिए निम्नलिखित कोड का उपयोग किया लेकिन मैं कार्य को दोहराने में सक्षम नहीं हूं।एंड्रॉइड usig AlarmManager/BroadcastReceiver
गतिविधि कोड: -
public class AndroidScheduledActivity extends Activity {
/** Called when the activity is first created. */
int id = 115;
Intent myIntent;
PendingIntent pendingIntent;
AlarmManager alarmManager;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button buttonStart = (Button)findViewById(R.id.start);
myIntent = new Intent(getBaseContext(), MyScheduledReceiver.class);
myIntent.putExtra("id", id);
pendingIntent = PendingIntent.getBroadcast(getBaseContext(), id, myIntent, 0);
alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE);
buttonStart.setOnClickListener(new Button.OnClickListener(){
public void onClick(View arg0) {
// TODO Auto-generated method stub
setForMonday();
finish();
}});
}
public void setForMonday() {
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.DAY_OF_WEEK,2);
calendar.set(Calendar.HOUR,09);
calendar.set(Calendar.MINUTE, 00);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MILLISECOND, 0);
System.out.println("Old is [email protected] :== " + calendar.getTime());
long interval = calendar.getTimeInMillis() + 604800000L;
System.out.println("Next Millis = " + interval);
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), interval, pendingIntent);
}
}
नोट: - मैं 86,400,000 * 7 = 604,800,000 के आधार पर अंतराल गिना;
रिसीवर: -
public class MyScheduledReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
System.out.println("Receiver");
}
}
किसी को भी किसी भी विचार कृपया मदद कृपया है। धन्यवाद
बस कोशिश करते हैं और जाँच सोमवार दिन 2 या 1 मैं उस पर शक है, और वास्तव में मैं अपने कोड में किसी भी समस्या को देखने नहीं है, हो सकता है अपने अपने परीक्षण में, इस अलार्म अपने डिवाइस/एम्युलेटर समय बदलने के सेट करने के बाद 9 बजे और अगले सोमवार की तारीख..और वह अलार्म को आग लगाएगा मुझे यकीन है। – MKJParekh
मुझे समस्या मिली। अंतराल में। अंतराल के स्थान पर मैंने setRepeating विधि में AlarmManager.INTERVAL_DAY * 7 का उपयोग किया। – Scorpion