0
내 프로젝트에 Firebase의 InstanceId service
(service
)을 쓰고 싶습니다. 프로젝트는 SDK
이며이를 통합하는 개발자는 service
을 재정의 할 수 있습니다. 이 경우 개발자가 지정한 새 서비스의 이름을 AndroidManifest.xml
파일의 특정 작업으로 읽을 수 있어야합니다.AndroidManifest에서 서비스 이름 읽기
여기 실제 질문은 특정 작업으로 AndroidManifest.xml
파일에 선언 된 서비스의 이름을 어떻게 읽을 수 있습니까? 나는이 문서를 추가 할 것입니다 유틸리티 메소드
public static void startService(Context context, String lookupAction) {
Intent serviceIntent = new Intent();
serviceIntent.setAction(lookupAction);
serviceIntent.setPackage("package.of.your.application");
List<ResolveInfo> resInfo = context.getPackageManager().queryIntentServices(serviceIntent, 0);
if (resInfo != null && !resInfo.isEmpty()) {
ServiceInfo service = resInfo.get(0).serviceInfo;
ComponentName cmpService = new ComponentName(service.applicationInfo.packageName, service.name);
Intent serviceToStart = new Intent(lookupAction);
serviceToStart.setComponent(cmpService);
context.startService(serviceToStart);
} else {
// Handle error
}
}
아래
당신은 이름이 필요? 문자열 형식으로? –
유스 케이스는 개발자가 등록한 새로운 서비스를 찾아서 시작하는 것이다. 따라서 완전한 이름으로 할 수 있습니다. –