在我的主要活动中有一个按钮.在其onclick监听器调用功能设置闹钟.闹钟正在工作,但我无法阻止它.可以帮助一个人
MainActivity.java
public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); findViewById(R.id.button1).setonClickListener(new OnClickListener() { @Override public void onClick(View v) { setalarm(); } }); } private void setalarm() { Calendar cal=Calendar.getInstance(); // cal.set(Calendar.MONTH,6); // cal.set(Calendar.YEAR,2013); // cal.set(Calendar.DAY_OF_MONTH,12); cal.set(Calendar.HOUR_OF_DAY,18); cal.set(Calendar.MINUTE,32); Intent intent = new Intent(this,Mote.class); PendingIntent pendingIntent = PendingIntent.getbroadcast(this.getApplicationContext(),1253,intent,PendingIntent.FLAG_UPDATE_CURRENT| Intent.FILL_IN_DATA); AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE); alarmManager.set(AlarmManager.RTC_WAKEUP,cal.getTimeInMillis(),pendingIntent ); alarmManager.setRepeating(AlarmManager.RTC_WAKEUP,AlarmManager.INTERVAL_DAY,pendingIntent); Toast.makeText(this,"Alarm SET.",Toast.LENGTH_LONG).show(); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.activity_main,menu); return true; } }
Mote.java
public class Mote extends broadcastReceiver{ public void onReceive(Context context,Intent intent) { Toast.makeText(context,"Alarm worked.",Toast.LENGTH_LONG).show(); int icon = R.drawable.ic_launcher; CharSequence tickerText = "Hello you have to take medicine I am Nitin Sharma"; long when = System.currentTimeMillis(); CharSequence contentTitle = "My notification"; CharSequence contentText = "Hello World!"; final int NOTIF_ID = 1234; notificationmanager notofManager = (notificationmanager)context. getSystemService(Context.NOTIFICATION_SERVICE); Intent notificationIntent = new Intent(context,Alset.class); PendingIntent contentIntent = PendingIntent.getActivity(context,notificationIntent,0); Notification notification = new Notification(icon,tickerText,when ); notification.setLatestEventInfo(context,contentTitle,contentText,contentIntent); notification.flags = Notification.FLAG_INSISTENT; notification.defaults |= Notification.DEFAULT_SOUND; notofManager.notify(NOTIF_ID,notification); Toast.makeText(context,Toast.LENGTH_LONG).show(); Intent i = new Intent(context,Alset.class); i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(i);
Alset.java
public class Alset extends Activity{ @Override protected void onCreate(Bundle savedInstanceState) { // Todo Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.activitystop); Log.e("IM here ","Im here"); findViewById(R.id.button1).setonClickListener(new OnClickListener() { @Override public void onClick(View v) { Toast.makeText(Alset.this,"Stop the alrm Now",Toast.LENGTH_LONG).show(); } }); } } } }
一旦报警开始,我将在接收机的OnReceive()中收到回叫,从那里我进入活动Alset,我保持停止按钮.如何阻止这里的闹钟
注意: – 我可以硬编码设置闹钟的时间
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。