单击按钮后,警报管理器关闭

时间:2015-03-28 19:36:33

标签: android alarmmanager

我在一个按钮上设置了代码,该按钮设置警报管理器发送广播并激活设备上的WiFi。我已将延迟设置为1分钟但代码但是一旦我点击按钮

,闹钟就会响起

这是按钮上的代码:

public void start(View view){
        AlarmManager alarm = (AlarmManager) getSystemService(ALARM_SERVICE);
        Intent intent1 = new Intent(this,MyReceiver.class);
        PendingIntent TurnWiFi = PendingIntent.getBroadcast(getApplicationContext(), 0, intent1, 0);
        long milli = 60000;
        alarm.set(AlarmManager.RTC,milli,TurnWiFi);
    }

Receiver中的代码:

public class MyReceiver extends BroadcastReceiver{

    @Override
    public void onReceive(Context context, Intent intent) {
        Log.i("BroadcastReceiver","------------>In on receive method<-------------");
        WifiManager wifi_man = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
        wifi_man.setWifiEnabled(true);

    }

1 个答案:

答案 0 :(得分:1)

闹钟中的

(AlarmManager.RTC,milli,TurnWiFi);毫米已经通过了 使用日历以降低复杂性。

这应该可以解决你的问题:
alarm.set(AlarmManager.RTC,System.currentTimeMillis() + milli,TurnWiFi);

更新:

说明:

  

如果声明的触发时间是过去的,则会立即触发警报

AlarmManager.RTC(实时时钟)类型的触发器是以毫秒为单位的时间。和60000毫安实际上是在过去。

根据文件,System.currentTimeMillis()+ 60000在接下来的60秒内熄灭

  

System.currentTimeMillis的()
  返回自1970年1月1日00:00:00.0 UTC以来的当前时间(以毫秒为单位)。