AIDL을 통해 다른 응용 프로그램에 바인딩 된 서비스를 만들고 다음과 같이 매니페스트에 추가합니다.
<service android:name=".MyService">
<intent-filter>
<action android:name="org.example.android.myservicedemo.IService" />
</intent-filter>
</service>
여기서 IService는 AIDL 인터페이스입니다.
이런 식으로 Eclipse는 Exported service does not require permission 이라는 경고 메시지를 표시합니다 . 를 제거하면 intent-filter
경고가 사라지지만 분명히 응용 프로그램이 서비스에 바인딩 할 수 없습니다.
이 경고는 무엇을 의미합니까?
AndroidManifest.xml에 새 <permission> 을 작성하고 해당 이름을 선언 의
—
옌스
android:permission
속성으로 사용하십시오 <service>
. 아니면 경고를 무시하십시오-서비스는 무엇을하려고합니까? 당신이 "내부"서비스를 유지와 함께 벌금을 경우 그것은 단지 세트에 훨씬 쉽게 android:exported="false"
온<service>
그런 다음 경고를 무시하거나 <permission>을 추가하고, 동일한 인증서로 서명 된 모든 자체 응용 프로그램 인 경우 "서명"을 사용하거나 그렇지 않으면 "일반"으로 이동하십시오.
—
Jens
이미 (릴리스) 인증서를 사용하여 응용 프로그램에 서명하고 있습니다. 서명 보호는 권한을 요청하는 응용 프로그램이 권한을 정의한 응용 프로그램과 동일한 서명인지 확인합니다.
—
Jens
@Jens 감사합니다 ... 그것은 나를 도왔습니다 .... btw 당신은 당신의 의견을 답변으로 추가 할 수 있습니다. enzom83이 받아들이도록하십시오.
—
Vijay C
Service
AIDL 인터페이스를 통해 노출되는 모든 방법을 호출 할 수 있음을 의미합니다 .