【发布时间】:2012-06-11 14:47:15
【问题描述】:
我有 2 项服务可从加速度计和麦克风获取数据,还有 1 项活动可获取 GPS 数据。我想同时运行这三件事。我想知道这在Android中是否可行。当 GPS Activity 运行并在 UI 上显示数据时,其他 2 个服务也应该在后台运行。
如果可能的话,我给出的从 GPS Activity 类启动两项服务并同时运行这 3 项服务的方法是正确的。请任何人帮助我。谢谢。
`
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
gpsManager = new GPSManager();
gpsManager.startListening(getApplicationContext());
gpsManager.setGPSCallback(this);
((TextView)findViewById(R.id.info_message)).setText(getString(R.string.info));
measurement_index = AppSettings.getMeasureUnit(this);
Intent i=getIntent();
number=i.getStringExtra("NUMBER");
startService(new Intent(GPS2Activity.this, GforceService.class));
startService(new Intent(GPS2Activity.this,SPLService.class));
} `
GforceService 和 SPLService 是我的 2 项服务
【问题讨论】:
-
是的,您可以启动 2 个服务并让它们与您的活动并行运行。您是否遇到了一些问题?
-
太棒了!我想知道我给的方式是否正确,因为我没有处理服务的经验。
-
好的,我为你创建了一个答案。如果这是您想知道的全部内容,您可以接受这个答案。
-
如果您的平台是 5.0.0 或 5.0.0+,您的代码可以工作否则您必须使用接收器。
-
@devdattbhatt 你的评论是错误的。此代码适用于所有版本的 Android。您可以根据需要启动任意数量的服务,并且它们都并行运行。是什么让您认为这不适用于较旧的 Android 版本?
标签: android service android-activity