찾다

 >  Q&A  >  본문

Android 관련 문제 - Android는 가져온 lib 라이브러리의 서비스를 시스템에서 고유하게 만드는 방법은 무엇입니까?

우선, 서비스를 정의하는 lib 라이브러리가 있습니다.

으아악

이제 이 라이브러리를 도입한 두 개의 앱을 추가한 다음 해당 코드에서 호출했습니다.

으아악

지금 생각하는 것은 시스템에 하나만 SharedService的实例,在进程com.lib.aidl.SharedService 있어야 한다는 것입니다.

그런데 실제 상황은 2개의 SharedService的实例,它们都在进程名为com.lib.aidl.SharedService 프로세스가 있는데 프로세스 ID가 다릅니다. 왜 그런 겁니까?

이제 시스템에 단 하나의 SharedService的实例,当第二次调用startService时回调onStartCommand메소드만 표시하고 싶습니다. 가능합니까?

巴扎黑巴扎黑2743일 전562

모든 응답(1)나는 대답할 것이다

  • PHP中文网

    PHP中文网2017-05-16 13:23:35

    으아악

    替换成

    으아악

    试试

    注意,加了个 ':'

    서비스가 실행될 프로세스의 이름입니다. 일반적으로 애플리케이션의 모든 구성 요소는 해당 애플리케이션에 대해 생성된 기본 프로세스에서 실행됩니다. 애플리케이션 패키지와 이름이 동일합니다. <애플리케이션> 요소의 프로세스 속성은 모든 구성요소에 대해 서로 다른 기본값을 설정할 수 있습니다. 그러나 구성 요소는 자체 프로세스 속성으로 기본값을 재정의할 수 있으므로 애플리케이션을 여러 프로세스에 걸쳐 분산시킬 수 있습니다.
    이 속성에 할당된 이름이 콜론(':')으로 시작하는 경우 애플리케이션 전용 새 프로세스는 다음과 같습니다. 필요할 때 생성되고 해당 프로세스에서 서비스가 실행됩니다. 프로세스 이름이 소문자로 시작하는 경우 서비스는 해당 권한이 있는 경우 해당 이름의 전역 프로세스에서 실행됩니다. 이를 통해 다양한 애플리케이션의 구성 요소가 프로세스를 공유하여 리소스 사용량을 줄일 수 있습니다.

    회신하다
    0
  • 취소회신하다