gpt4 book ai didi

java - 如何在android中从一个服务获取数据到另一个服务

转载 作者:行者123 更新时间:2023-12-02 05:55:59 25 4
gpt4 key购买 nike

我是 Android 开发新手,我正在开发一个项目,其中我必须创建两个服务,即 service1service2.

我的service1将始终运行,同时启动名为service2的新服务,该服务将运行一段时间执行一些工作并停止。

service2 必须读取/访问并更改某些数据成员的值service1 每次执行完成后都会自动销毁。

直到现在我才知道我想要执行一些服务间通信。

我不知道该怎么做...请帮我解决这个问题。

Service1 代码 fragment

class Service1 extends Service{
private int counter = 0;
//some code
@Override
public void onCreate() {
// TODO Auto-generated method stub
super.onCreate();
Intent i= new Intent(this,StratCounterService.class);
startService(i);
}
//some code
public int getCounter() {
return counter;
}

这是我在 Service1.java 类中使用的代码

Service2 代码 fragment

public class Service2 extends Service{

@Override
public IBinder onBind(Intent intent) {
// TODO Auto-generated method stub

return null;
}

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

Thread timer = new Thread(){
public void run(){
try{
sleep(20000);
}catch(Exception e){
e.printStackTrace();
}finally{
if(getCounter()>=someInteger) doSomthing();
else {
mInitialized=false;
//And stop this service here!
stopSelf();
}
}
}
};
for(int i=0;i<3;i++) timer.start();
}

@Override
public void onRebind(Intent intent) {
// TODO Auto-generated method stub
super.onRebind(intent);
}


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

@Override
public int onStartCommand(Intent intent, int flags, int startId) {
// TODO Auto-generated method stub
return super.onStartCommand(intent, flags, startId);
}


}

提前致谢..

最佳答案

您可以使用共享首选项来存储数据,并可以从另一个服务类获取数据

SharedPreferences

关于java - 如何在android中从一个服务获取数据到另一个服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23081408/

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