gpt4 book ai didi

android - 我应该如何使用 alarmmanager 每天和中午 12 点运行服务

转载 作者:太空狗 更新时间:2023-10-29 12:53:51 25 4
gpt4 key购买 nike

我试图在每天晚上 7 点打开一项新服务,该服务会在启动时通知我,但我无法解决这个问题,也无法理解为什么。谁能帮帮我谢谢这是代码


这是我在 DaysCounterActivity 类中编写的代码

    Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY, 19);
calendar.set(Calendar.MINUTE, 05);
calendar.set(Calendar.SECOND, 00);


Intent intent = new Intent(this, MyReciever.class);
PendingIntent pintent = PendingIntent.getService(this, 0, intent, 0);


AlarmManager alarmManager = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), 24*60*60*1000 , pintent);

这是 MyReviever 类的 onRevcieve 方法

    public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub

Intent serviceIntent = new Intent();
serviceIntent.setAction("com.saaram.MyService");
context.startService(serviceIntent);
}

最佳答案

你的问题是 pintent 试图运行一个服务,但是 MyReceiver 是一个广播接收器。如果您将 MyReceiver 更改为服务,它将起作用。

public class MyReceiver extends Service {


public int onStartCommand(Intent intent, int flags, int startId) {
//Anything you put here is run at the time you set the alarm to
}

@Override
public IBinder onBind(Intent arg0) {
// TODO Auto-generated method stub
return null;
}

}

在您的 list 中,您只需像这样声明它:

<service android:name=".MyReceiver"></service>

关于android - 我应该如何使用 alarmmanager 每天和中午 12 点运行服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9004635/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com