【问题标题】:How to Stop Alarm android application如何停止警报安卓应用程序
【发布时间】:2012-03-15 18:59:35
【问题描述】:

我必须开发一个应用程序,在 2 小时内每 10 分钟使用 alertDialog 提醒用户,

我做了一个应用程序,每 10 分钟提醒一个用户,但我想在 2 小时后停止它实际上我做不到,

如果我使用 amManger.cancel(); 我搜索但没有答案它会在 2 小时前取消闹钟 :"( 那么,有没有办法做到这一点? 请举个例子,因为我是 android 新手...

谢谢alooooot ..

------------- 更新后----------------------------

public class MyAlarm extends Activity {

    private PendingIntent pendingIntent;
    int i = 1;

    /** Called when the activity is first created. */

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        Button buttonStart = (Button) findViewById(R.id.startalarm);
        Button buttonCancel = (Button) findViewById(R.id.cancelalarm);
        Button bCancel= (Button) findViewById(R.id.button1);

        pendingIntent = PendingIntent.getService(MyAlarm.this, 0,
                new Intent(MyAlarm.this, MyAlarmService.class), 0);
        buttonStart.setOnClickListener(new View.OnClickListener() {

            public void onClick(View v) {
                // TODO Auto-generated method stub


                long firstTime = SystemClock.elapsedRealtime();
                AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE);
                AlarmManager am2 = (AlarmManager) getSystemService(ALARM_SERVICE);
                am.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP,
                        firstTime + 10 * 1000, 10 * 1000, pendingIntent);


            }
        });

        bCancel.performClick();

问题: - 当 bCancel 按钮自动单击时,我应该在哪里设置停止警报的代码?

-我怎样才能在两个小时后进行此点击???

谢谢,

【问题讨论】:

    标签: android alarm


    【解决方案1】:

    试试这个-

    final Button bCancel= (Button) findViewById(R.id.button1);
    bCancel.setOnClickListener(new OnClickListener() {
    
                @Override
                public void onClick(View v) {
    
                    //Your code to stop the alarm goes here.
    
                }
            });
    
    new Handler().postDelayed(new Runnable() {
    
                @Override
                public void run() {
                    bCancel.performClick();
                }
            }, (2*60*60*1000));
    

    【讨论】:

    • 谢谢我参考他们和我的大部分代码,但是他们的警报直到用户单击 StopButton 才停止,我需要在 2 小时后自动停止警报:|
    • 然后,如果您有任何按钮,您可以在两小时后以编程方式单击该按钮,方法是使用performClick() 方法。放置一个 2 小时后触发的处理程序,然后将代码放入其中。如果有任何问题,请告诉我。
    • 我没有任何按钮来停止该警报,而且我不知道如何以编程方式创建按钮!你能给我举个例子吗非常感谢
    • 您可以将可见性设置为View.GONE 的按钮并以编程方式单击它-Button btn = (Button)findViewbyId(R.id.button); btn.performClick();
    • 您也可以在 2 小时计时器之后使用处理程序,例如 - new Handler().postDelayed(new Runnable(){ @Override public void run() { //Perorm button click here or your own logic to stop alarm. }, (2*60*60*1000));
    【解决方案2】:

    您可以创建另一个闹钟,在 2 小时后取消您的主闹钟。这看起来是最简单的解决方案。

    【讨论】:

    • @user1261835,您应该将它与您的主警报一起创建,以确保它会在 2 小时后停止主警报。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-29
    • 1970-01-01
    • 1970-01-01
    • 2017-12-04
    • 1970-01-01
    • 2014-05-18
    相关资源
    最近更新 更多