如何停止在安卓报警 [英] How to stop an alarm in android

查看:102
本文介绍了如何停止在安卓报警的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在其中有一个按钮是我的主要活动。在它的onclick监听即时通话功能设置alarm.The报警是工作,但IAM无法阻止它。可有一个人帮我。

In my main activity which has a button in it. In its onclick listener im calling function to set alarm.The alarm is working but iam not able to stop it .Can some one help me

MainActivity.java

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, cal.getTimeInMillis(),
                    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

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,0, 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, "Alarm worked.", Toast.LENGTH_LONG).show();

         Intent i = new Intent(context,Alset.class);
         i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
         context.startActivity(i);

Alset.java

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在那里我养了停止按钮。如何阻止它从这里报警 注: - 林硬编码设置报警时间

Once the alarm starts i will get the call back in the receiver's OnReceive().From there im going to the activity Alset where i kept a stop button . How to stop it the alarm from here NOTE: - Im hardcoding the time to set the alarm

推荐答案

您可以取消报警是这样的:

You can cancel the alarm like this:

     Intent intent = new Intent(this, Mote.class);
     PendingIntent pendingIntent = PendingIntent.getBroadcast(getApplicationContext(), 1253, intent, 0);
     AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
     alarmManager.cancel(pendingIntent);

此外,你应该删除 Intent.FILL_IN_DATA 从您的来电 getBroadcast()在code在这里设置了报警。

Also, you should remove Intent.FILL_IN_DATA from your call to getBroadcast() in the code where you set the alarm.

这篇关于如何停止在安卓报警的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆