gpt4 book ai didi

android - 使用 AlarmManager 调用服务

转载 作者:行者123 更新时间:2023-11-29 19:40:37 25 4
gpt4 key购买 nike

我已经创建了一项服务,我想通过 AlarmManager 定期调用它。我已经为此编写了代码,但它没有调用。如果我通过 AlarmManager 调用 BroadcasrReciever,那么它工作正常。

下面是我的代码,

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

setContentView(R.layout.activity_home);

Intent alarmIntent = new Intent(this, LocationUpdateService1.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, alarmIntent, 0);
AlarmManager manager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
manager.setRepeating(AlarmManager.RTC_WAKEUP, 20000, 11000, pendingIntent);

}

我的服务类是,

public class LocationUpdateService1 extends Service {
@Nullable
@Override
public IBinder onBind(Intent intent) {
Toast.makeText(getApplicationContext(), "I created", Toast.LENGTH_LONG);
return null;
}
}

我最 list 的文件,

<service
android:name=".Services.LocationUpdateService1">
</service>

我必须创建 BroadcastReceiver 类来调用我的服务吗?我的代码有什么问题?为什么它不定期调用?

最佳答案

确保您使用PendingIntent.getBroadcast,它不会起作用。改为使用 getService(),如下所示:

PendingIntent pendingIntent = PendingIntent.getService(this, 0, alarmIntent, 0);

关于android - 使用 AlarmManager 调用服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38680617/

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