我在将值从 Activity 传递到已经运行的服务时遇到问题。我想知道最好的方法是什么?添加额外内容将不起作用,因为我认为这必须在意图开始之前完成?(如我错了请纠正我)。
任何帮助都会很棒!如果需要,我可以详细说明。
担。
我在将值从 Activity 传递到已经运行的服务时遇到问题。我想知道最好的方法是什么?添加额外内容将不起作用,因为我认为这必须在意图开始之前完成?(如我错了请纠正我)。
任何帮助都会很棒!如果需要,我可以详细说明。
担。
如果服务正在运行,则从活动向服务传递额外的意图启动此意图 ,从活动尝试此操作并使用 putExtra 传递参数。
Intent rc = new Intent(getApplicationContext(), myService.class);
rc.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); //important for Android 10
rc.putExtra("parama","ciao");
rc.putExtra("paramb","hello");
startService(rc);
记住,新线程,退出到主线程。
new Thread(){
@Override
public void run() {
super.run();
//start service..
}
}
你的服务
public class myService extends Service {
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
if (intent.hasExtra("parama")){
Bundle b=new Bundle();
b=intent.getExtras();
String par_a=b.getString("parama");
}
if (intent.hasExtra("paramb")){
Bundle b=new Bundle();
b=intent.getExtras();
String par_b =b.getString("paramb");
}
}
}