Google developer instructions on implementing Firebase in my app 다음에 안드로이드 린트가 불평을합니다.내 보낸 Firebase Messaging 서비스 구현에 관한 안드로이드 보푸라기 불만을 해결하는 방법은 무엇입니까?
public class MyFirebaseInstanceIDService extends FirebaseInstanceIdService { ... }
public class MyFirebaseMessagingService extends FirebaseMessagingService { ... }
다음 매니페스트에 해당 서비스를 등록 :
생각
우리가 중포 기지 서비스에서 상속이 개 서비스를 구현해야한다는 것입니다. 그러나, 그것은 완벽하지 않습니다.<service android:name=".MyFirebaseMessagingService">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT"/>
</intent-filter>
</service>
<service android:name=".MyFirebaseInstanceIDService">
<intent-filter>
<action android:name="com.google.firebase.INSTANCE_ID_EVENT"/>
</intent-filter>
</service>
그래서 린터가 말한다 :
수출 서비스 (서비스하는 세트 중 하나가 = 사실을 수출 또는를 포함 특히,이 두 AndroidManifest.xml에 서비스 항목이 어떤 특별한 권한을 포함하지 않는 것이 좋습니다 intent-filter를 지정하고 exported = false를 지정하지 않음) 엔티티가 서비스를 시작하거나 바인딩하기 위해 가지고 있어야하는 권한을 정의해야합니다. 이 기능이 없으면 모든 응용 프로그램에서이 서비스를 사용할 수 있습니다.
난 그냥 각 서비스 태그에이 속성을 추가해야하며
tools:ignore="ExportedService"
또는이 상황에서 더 나은 방법이 함께 할 수? 내 말은, 이러한 특정 Firebase 파생 서비스를 공개하는 것이 안전할까요?
"Merged Manifest"버튼에 대해 알지 못했습니다! 고맙습니다! – AutonomousApps
우리는'android : exported = "false"'를 설정하고 있으며 여전히 알림을 받고 있습니다. 파이어베이스가 정말로 파이썬을 내보낼 필요가 있는지 확실하지 않습니다. – Prakash
이러한 설명을 정당화하기위한 실제 설명이 있습니까? 당신은 그것을 믿을 지 모르지만 왜 우리는해야합니까? – deed02392