1
A
回答
2
你必須在你的service.OnStart方法中覆蓋onStart方法,你可以獲得Activity的意圖。 如果你想從活動傳遞ArrayList到服務,你可以將你的ArrayList轉換爲數組。
在你活動
Intent intent=new Intent(ServicesActivity.this,FileManagerRequest.class);
Bundle b=new Bundle()
b.putStringArray("Array", your_array)
intent.putExtras(b);
startService(intent);
在您服務
public void onStart(Intent intent, int startid){
super.onStart(intent, startid);
Bundle b=intent.getExtras();
String[] Array = b.getStringArray("Array");
}
0
兩個選項:
- 如果服務是本地的,那麼你就可以綁定到它,只是直接調用方法
- 如果服務是遠程的,比你能使用
Bundle
來傳遞一些數據。
0
/**在您的活動 *** /
startbtn.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {
// TODO Auto-generated method stub
Bundle b=new Bundle();
b.putString("id", id);
Intent in=new Intent(create.this,myservice.class);
in.putExtras(b);
//Toast.makeText(getBaseContext(), "Service Started", Toast.LENGTH_LONG).show();
startService(in);
}
0
/**在服務* ***/
public int onStartCommand(Intent intent, int flags, int startId) {
// We want this service to continue running until it is explicitly
// stopped, so return sticky.
super.onStart(intent, startId);
id=intent.getExtras();
value=id.getString("id");
Toast.makeText(this, "Service Started "+value, Toast.LENGTH_LONG).show();
0
最後我得到了答案,它爲我的工作,只是嘗試。
1)在發送對象喜歡ArrayList<String> names
從Activity發送到這種方式的例子。 names.add("kdblue");
Intent startIntent = new Intent(CuurentActivity.this, UploadService.class);
startIntent.putStringArrayListExtra("data",names);
startService(startIntent);
2)現在從服務接收此ArrayList<String>
對象
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
ArrayList<String> transferData = intent.getStringArrayListExtra("data");
return START_STICKY;
}
注:transferData
對象包含所有ArrayList<String> names
屬性。
相關問題
- 1. 將數據傳遞到由服務啓動的活動
- 2. 在自動啓動時將參數傳遞給Windows服務
- 3. 如何將活動中的任何對象傳遞給服務?
- 4. 如何將參數傳遞給活動的服務?
- 5. 如何將數據動態地從活動傳遞到服務?
- 6. Android - 當服務未從活動啓動時如何傳遞服務中的數據?
- 7. 在活動開啓時啓動服務
- 8. Android:如何將數據從活動傳遞到服務?
- 9. 如何將數據從服務傳遞到高頻活動
- 10. 將數據傳回活動從服務
- 11. 如何將數據從服務器傳遞給服務人員
- 12. 如何將當前活動傳遞給服務?
- 13. 如何將LocationRequest對象從活動傳遞給服務?
- 14. 如何從服務中啓動活動?
- 15. 將公鑰對象從服務傳遞給Android中的活動?
- 16. 將參數傳遞給Windows服務以啓動方法
- 17. 服務如何與其活動通信?服務如何調用啓動該服務的活動中的方法?
- 18. 啓動在設備啓動時啓動活動的服務
- 19. 從服務啓動活動
- 20. Android:服務啓動活動
- 21. 如何將基於時間的變化數據從活動傳遞到服務
- 22. 如何從Android服務啓動活動
- 23. 如何從服務啓動活動?
- 24. Android:將數據傳遞給服務
- 25. 當活動開始服務時,活動中的數據不能立即傳遞到服務
- 26. 如何在後臺啓動服務並從該服務啓動一項活動?
- 27. 將當前活動傳遞給服務,以便服務可以操縱視圖
- 28. 將字符串傳遞給活動的服務
- 29. 我該如何將活動中的字符串傳遞給Android中的服務?
- 30. 活動將不會啓動服務
你可以把它放在intent.putExtra()方法中,在服務中你可以使用getParcelableArray方法在服務onStart()方法 – Krutik 2012-04-16 05:51:47