메인 스레드에서 서비스를 실행하는 안드로이드 응용 프로그램을 개발 중입니다. 그런 다음 별도의 apk 파일에있는 다른 활동을 실행합니다. 이 apk는 자체 서비스를 생성하고 원래 서비스와 정보 (복잡한 객체)를 교환 할 수 있어야합니다. 두 서비스가 모두 도움이된다면 안드로이드 라이브러리에 존재하기 때문에 둘 다 공유합니다. 이 기능을 수행 할 수있는 방법이 있습니까? 어떤 제한이 수반되며 어떤 방법으로 극복 할 수 있습니까?안드로이드 서비스 연결
1
A
답변
1
서비스 2는 서비스 1과 통신하려면 모두 작성해야합니다. 에 의해 '서비스가 안드로이드 라이브러리에 존재하는 경우 APK의 참조'은 안드로이드 시스템 서비스를 의미하며, 서비스 정의를 재정의하지 않는 한 가능하지 않을 것입니다.
안드로이드 시스템 서비스를 사용하고 있다면 서비스 1에 브로드 캐스트 리시버를 설치하여 서비스 2가 게시 할 수있는 모든 업데이트를 알릴 수 있습니다.
앱 1,2 및 서비스 1,2 모두가 모두 작성된 경우 인 텐트 번들을 사용하여 데이터를 공유 할 수 있기 때문에 달성하기가 어렵지 않다고 생각합니다.
관련 문제
- 1. 안드로이드 서비스 연결 정책
- 2. 안드로이드 와이파이 서비스 시작
- 3. 안드로이드 서비스?
- 4. 안드로이드 서비스
- 5. 안드로이드 : 이미 쌍으로 연결
- 6. 안드로이드 3G 연결
- 7. 안드로이드 연락처에 데이터 연결
- 8. 안드로이드 JSoup 연결 문제
- 9. 안드로이드 데이터베이스 연결 방법?
- 10. 안드로이드 블루투스 연결 문제
- 11. 안드로이드 페이스 북 연결
- 12. 안드로이드 데이터베이스 연결 예외
- 13. 안드로이드 - MySQL 데이터베이스에 연결
- 14. 안드로이드 Sqlite 연결
- 15. MySQL과 안드로이드 연결
- 16. 안드로이드 알람 서비스
- 17. 안드로이드 서비스 응용 프로그램
- 18. 이해하기 안드로이드 서비스
- 19. 안드로이드 서비스 예 :
- 20. 첫 번째 안드로이드 서비스
- 21. 안드로이드 레스트 서비스 엔진
- 22. 의 AppWidgetProvider 서비스 안드로이드
- 23. 서버에 연결 :보고 서비스
- 24. 블루투스로 연결 서비스 이름
- 25. Windows 서비스 연결 전략
- 26. Android, 서비스 연결 해제 및 onService 연결 해제 문제
- 27. java.net.ConnectException - 연결 거부 안드로이드 에뮬레이터
- 28. usb를 통해 안드로이드 장치에 연결
- 29. 안드로이드 - 전화기 간 UDP 연결
- 30. 안드로이드 보안 서버 클라이언트 연결
응답 해 주셔서 감사합니다. 두 가지 서비스 모두 저에게 쓰여졌습니다. 문제는 apk 2의 서비스 2에서 서비스 1에 액세스하는 것 같습니다.이 서비스를 사용하면 서비스에 액세스 할 수 없다는 것을 알게됩니다. 'Intent gf = new Intent(); gf.setClassName ("com.MyServices", "com.MyServices.Service1"); bindService (gf, mConnection, Context.BIND_AUTO_CREATE); ' 권한이 없다고 알려줍니다. 'Intent gf = new Intent ("com.MyServices.Service1");을 시도하면 자동으로 실패합니다. 어떤 시도도'mConnection'의'onServiceConnected'를 발생시키지 않습니다. – Dested
당신이 이것을 조금 비워 봤기 때문에, APK가 서로 의사 소통하기를 원하기 때문에 내가 단순히 당신이라면 내 디자인을 다시 생각해 보겠다는 것을 지적합시다 .... 사용자가 아파? 위의 설정으로 무엇을 달성하고 싶은지 잘 모르겠지만 같은 APK 내에서 서로 다른 두 서비스간에 데이터를 교환 할 수는 있습니다. 당신이 여전히 다른 apk를 사용하고 싶다면 할 수있는 또 다른 일이있을 수 있습니다 : apk의 패키지에 같은 패키지 이름을 사용하고 그 사이에 sqlite db 파일을 공유하십시오 (아직 시도하지 않았습니다 : P) –
apk1 isnt depend apk2에, 단지 비자. apk1이 제거되면 apk2가 더 이상 작동하지 않는다는 것을 알 수 있습니다. 동일한 apk 내에서 서로 다른 두 가지 서비스간에 데이터를 교환 할 수 있다고하지만, apk1이 apk2에서 직접 활동을 시작하면 2 명의 다른 apk간에 교환 할 수 있습니까? 솔직히 말해서, 내 문제가 무엇인지 완전히 모르겠다. 버그를 더 깊이보기 시작하기 전에 개념적으로 문제가 있는지 판단하려고 노력 중이다. – Dested