우리의 안드로이드 시스템은 다중 사용자 기능을 지원합니다. 다른 응용 프로그램 (예 : app1, app2)에 startService (intent) 명령을 사용하여 서버를 시작하고 싶습니다. Google의 문서 당 https://source.android.com/devices/tech/admin/multiuser-apps.html에 있습니다. 내 서비스가 여러 사용자 안드로이드 시스템에서 한 인스턴스로만 실행되도록하려면 android : singleUser = "true"로 설정해야합니다. 내가 다른 응용 프로그램에 startservice 때, 나는 예외 아래에 있어요 = "true"를 수출하고 안드로이드에 의해 비활성화되었습니다 :여러 사용자 안드로이드 시스템에서 하나의 인스턴스로만 내 서비스를 실행하는 방법은 무엇입니까?
Not allowed to start service Intent { act=com.xx.xxx.action.Start pkg=com.xx.xxx (has extras) } without permission not exported from uid 1000
는 안드로이드 보였다 단일 사용자가 = "true"로. android : singleUser = "true"를 추가하지 않으면 정상적으로 작동하지만 백그라운드에서 실행중인 서비스가 두 개 이상 존재합니다. 제 질문은 다른 애플리케이션의 startService (인 텐트)를 사용하여 하나의 인스턴스에서만 내 서비스를 실행하게하려면 어떻게해야합니까? 내 Manifest.xml는 다음과 같이 구성되어 있습니다 :
<application
android:name=".App"
android:label="@string/app_name"
android:directBootAware="true"
android:multiprocess="false"
android:persistent="true">
<service
android:name=".MyService"
android:singleUser="true"
android:exported="true"
android:permission="com.xx.permission.xx">
<intent-filter>
<action android:name="com.xx.xx.action.xx" />
</intent-filter>
</service>
</Application>
감사합니다 순전히.