2012-06-11 14 views
0

我有2個服務從加速度計和麥克風獲取數據,以及1個獲取GPS數據的活動。我想同時運行這3件事。我想知道在Android中可能。當GPS活動在用戶界面上運行並顯示數據時,其他兩項服​​務應該在後臺運行。可以從同一活動啓動2個服務,並可以在android中平行運行該活動和兩個服務?

如果可能的話,我給出的方法是從我的GPS Activity類開始兩個服務並同時運行這3件事。請任何一個hlp我。謝謝。

`

@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)); 



} ` 

GforceServiceSPLService是我的2個服務

+0

是的,您可以啓動2個服務並讓它們與您的活動並行運行。你遇到了一些問題嗎? –

+0

太棒了!我想知道我提供的方式是否正確,因爲我沒有處理服務的經驗。 – iDia

+0

好的,我爲你創建了一個答案。如果這是你想知道的,你可以接受這個答案。 –

回答

0

是的,你就可以開始2個服務,讓他們在並行與活動運行。

+0

一個新的問題:),我可以在服務中使用AsyncTask,以便AsyncTask並行運行,我詢問的原因是因爲我注意到AsyncTask不能在Android 4中並行運行。 – user1796624

+1

@ user1796624您應該發佈一個這個新的問題。但'AsyncTask'用於從UI中運行後臺活動。由於'Service'沒有UI,因此將'AsyncTask'與'Service'混合是沒有意義的。如果你想要並行操作,你可以使用'Thread'和可選的線程池。 –

+0

運行兩個服務會損壞還是內存不足? –

相關問題