gpt4 book ai didi

android - 在服务中每 5 秒使用一次计时器,接收方调用的服务

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

我做了一个可以工作的接收器,这是代码:

public class ServicioCargado extends BroadcastReceiver {

@Override
public void onReceive(Context context, Intent intent)
{
if (intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED)) {
Intent i = new Intent();
i.setAction("domain.androids.smsprojects.MyService");
context.startService(i);
}
}

}

这是我的服务,它由接收器创建但自动关闭,我不想要这种行为,我希望计时器继续运行,每 5 秒执行一次,我没有看到问题,谢谢全部

public class MyService extends Service {

private MyService actual=null;

private Timer timer = new Timer();
private static final long UPDATE_INTERVAL = 5000;
//private final IBinder mBinder = new MyBinder();

@Override
public IBinder onBind(Intent arg0) {
return null;
}
@Override
public void onCreate() {
super.onCreate();
//Hacemos un while que cada cierto tiempo haga algo o un sleep
Toast.makeText(this,"Se esta ejecutando el programa para enviar sms", Toast.LENGTH_SHORT).show();
actual=this;
Log.d("Mauricio", "Creando servicio");
Toast.makeText(this,"Antes de ejecutar el timer", Toast.LENGTH_SHORT).show();
MyTimerExecution();
Toast.makeText(this,"Despues de ejecutar el timer", Toast.LENGTH_SHORT).show();
}

private void MyTimerExecution() {
timer.scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
// Imagine here a freaking cool web access ;-)
//Toast.makeText(actual,"Service update ...", Toast.LENGTH_SHORT).show();
Log.d("Mauricio","aqui");
}
}, 0, UPDATE_INTERVAL);
}

@Override
public void onDestroy() {
super.onDestroy();
if (timer != null) {
timer.cancel();
}
Toast.makeText(this, "Service destroyed ...", Toast.LENGTH_LONG).show();
}
}

最佳答案

试试 Handler,在你真正想做的事情之后调用 sendMessageDelayed(msg,UPDATE_INTERVAL)

关于android - 在服务中每 5 秒使用一次计时器,接收方调用的服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7458715/

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