gpt4 book ai didi

android - toast (使用 alarmmanager)

转载 作者:行者123 更新时间:2023-11-29 01:58:30 24 4
gpt4 key购买 nike

我有一个在 android 启动后运行的服务。我想每天早上 9 点举杯 toast 。问题是:如何实现代码(服务中的警报器)?

开机后启动服务:

public class AutoStart extends BroadcastReceiver{

@Override
public void onReceive(Context context, Intent intent) {
Intent serviceIntent = new Intent();
serviceIntent.setAction("com.example.startatboot.UnUsedService");
context.startService(serviceIntent);

}
}


public class Service extends Service {

@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public void onCreate() {
super.onCreate();
}
@Override
public void onDestroy() {
super.onDestroy();
}

@Override
public void onStart(Intent intent, int startId) {
super.onStart(intent, startId);

Toast.makeText(UnUsedService.this, "Start Alarm", Toast.LENGTH_LONG).show();
}};

Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY, 9);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0); AlarmManager am = (AlarmManager) context.getSystemService (Context.ALARM_SERVICE);
PendingIntent pi = PendingIntent.getService(context, 0, new Intent(context, MyClass.class), PendingIntent.FLAG_UPDATE_CURRENT);
am.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), AlarmManager.INTERVAL_DAY, pi);

最佳答案

只需用我的代码替换你的代码,

public class Service extends Service {

@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public void onCreate() {
super.onCreate();
}
@Override
public void onDestroy() {
super.onDestroy();
}

@Override
public void onStart(Intent intent, int startId) {
super.onStart(intent, startId);

Toast.makeText(UnUsedService.this, "Start Alarm", Toast.LENGTH_LONG).show();
}};

Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY, 9);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0); AlarmManager am = (AlarmManager) context.getSystemService (Context.ALARM_SERVICE);
PendingIntent pi = PendingIntent.getService(context, 0, new Intent(context, AlarmReceiver.class), PendingIntent.FLAG_UPDATE_CURRENT);
am.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), AlarmManager.INTERVAL_DAY, pi);

现在在同一个包中创建一个新类 AlarmReceiver 并向其添加以下代码。

 public class AlarmReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Toast.makeText(context, "Alarm worked.", Toast.LENGTH_LONG).show();

}
}

现在在 AlarmPendingIntent 中定义它。

在 list 文件中添加以下代码,

<receiver android:name=".AlarmReceiver" />

现在运行您的应用程序。就是这样。它肯定会在 9 点 toast 。

让我知道它是否有效。

关于android - toast (使用 alarmmanager),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13859169/

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