我有一個服務GPS.java和一個活動message.java綁定到提到的服務(GPS.java)。我使用活頁夾和服務連接限制了他們。我想要使用putExtra(Sring,value)發送的我的活動類的值。我將如何接受他們在我的服務?服務和活動
Q
服務和活動
0
A
回答
0
如果您提供的意圖值,當你啓動/綁定到你可以從Intent.getExtras
訪問數據。但是,如果你使用的粘合劑,你需要給了這些服務創建方法的服務價值作爲onBind
收到的意圖將不包含任何額外。
下面是一個例子:
在服務:
private final ExampleBinder binder = new ExampleBinder();
private class ExampleBinder extends Binder {
public void setExtras(Bundle b) {
// Set extras and process them
}
public ExampleService getService() {
return ExampleService.this;
}
public void registerClient(ClientInterface client) {
synchronized(clients) {
clients.add(client);
}
}
public void unregisterClient(ClientInterface client) {
synchronized(clients) {
clients.remove(client);
}
}
};
public IBinder onBind(Intent intent) {
return binder;
}
private final HashSet<ClientInterface> clients = new HashSet<ClientInterface>();
public static interface ClientInterface {
int value1();
String value2();
}
在客戶端:
public class ExampleActivity extends Activity implements ExampleService.ClientInterface {
private final ServiceConnection connection = new ServiceConnection() {
public void onServiceDisconnected(ComponentName name) {
// Handle unexpected disconnects (crashes)
}
public void onServiceConnected(ComponentName name, IBinder service) {
ExampleService.ExampleBinder binder = (ExampleService.ExampleBinder) service;
binder.registerClient(ExampleActivity.this);
}
};
public void onResume() {
bindService(new Intent(this, ExampleService.class), connection, Context.BIND_AUTO_CREATE);
}
public void onPause() {
unbindService(connection);
}
public int value1() {
return 4711;
}
public String value2() {
return "foobar";
}
我可以添加,這是所有假設你不使用AIDL,如果你的解決方案非常相似,只需在你的界面聲明中添加一個額外的方法即可。
你應該閱讀更多關於綁定的服務在這裏:http://developer.android.com/guide/topics/fundamentals/bound-services.html 或看一個例子:http://developer.android.com/reference/android/app/Service.html#LocalServiceSample
還有包含在一個名爲LocationService.java
相關問題
- 1. Android服務和活動更改活動中的服務價值
- 2. 服務和活動過程
- 3. 活動和/或服務
- 4. Android服務和AlertDialog活動
- 5. Android服務和活動
- 6. 活動,服務和通知
- 7. 活動和聯編服務
- 8. 服務和活動通信
- 9. 活動和服務溝通
- 10. 活動,服務和通知的互動
- 11. Android服務 - 服務和服務 - 活動雙向通信
- 12. 活動或服務?
- 13. 活動從服務
- 14. 服務和三項活動,啓動服務是否正確?
- 15. Camunda /活動服務任務
- 16. 從服務啓動活動
- 17. Android:服務啓動活動
- 18. 服務崩潰'活動'的活動
- 19. Android服務,活動和處理程序?
- 20. Android - 服務和活動交互
- 21. MVC3和活動目錄聯合服務
- 22. 服務和主要活動通信
- 23. keepalived和兩個活動服務器
- 24. 服務和活動之間的通信
- 25. Android服務,活動和應用程序
- 26. 機器人活動和服務
- 27. Android活動和服務通信
- 28. Android:位置;活動和服務
- 29. 活動和服務之間的偏好
- 30. 的Android ---連接活動和服務
我認爲你必須提供一些示例代碼的SDK的例子你有什麼 –