gpt4 book ai didi

android - 如何将数据从本地服务发送到 ANDROID 中的 Activity

转载 作者:搜寻专家 更新时间:2023-11-01 08:51:46 24 4
gpt4 key购买 nike

我有一项 Activity 和一项服务。我的要求是从 Activity 开始服务,并且在 Activity 中倒计时计时器将开始,但问题是我无法从服务中获得对我的 Activity 的值(value)。请帮帮我。

是否有任何代码、教程、示例可以帮助我。

定时服务

public class TimerService extends Service {

MyCounter timer;

@Override
public void onCreate() {
timer = new MyCounter(1 * 60 * 1000, 1000);
super.onCreate();
}

@Override
public int onStartCommand(Intent intent, int flags, int startId) {
timer.start();
return super.onStartCommand(intent, flags, startId);
}

private class MyCounter extends CountDownTimer {

public MyCounter(long millisInFuture, long countDownInterval) {
super(millisInFuture, countDownInterval);
}

@Override
public void onFinish() {
Toast.makeText(getApplicationContext(), "death", Toast.LENGTH_LONG)
.show();
stopSelf();

}

@Override
public void onTick(long millisUntilFinished) {
Toast.makeText(getApplicationContext(),
(millisUntilFinished / 1000) + "", Toast.LENGTH_SHORT)
.show();
}
}

@Override
public void onDestroy() {
// TODO Auto-generated method stub
timer.cancel();
super.onDestroy();

}

@Override
public IBinder onBind(Intent arg0) {
return null;
}

}

我应该在此服务中写什么,以便在我的 Activity 中获得 toast 消息值

最佳答案

阅读广播接收器。

在 Activity 中创建一个广播接收器并将其注册到一些 IntentFilter(在字符串值中设置操作)。

private BroadcastReceiver receiver = new BroadcastReceiver() {
public void onReceive(android.content.Context context, Intent intent) {
Toast.makeText(context, "death", Toast.LENGTH_LONG)
.show();
}}

onResume中注册

     IntentFilter intentFilter = new IntentFilter();    
intentFilter.addAction("Your Action");
this.registerReceiver(receiver, intentFilter);

在您的服务中只需调用 setBroadcast

 @Override
public void onFinish() {
Intent intent = new Intent();
intent.setAction("YourAction");
sendBroadcast(intent);
stopSelf();

}

关于android - 如何将数据从本地服务发送到 ANDROID 中的 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22609603/

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