IncomingCall의 Theme.Dialog로 활동을 시작했습니다. 그러나 대화 활동을 시작하면 원하는 동작이 아닌 수신 전화 화면이 숨겨집니다. 대화 활동을 혼자 시작하여 들어오는 호출 화면 상단에 나타나도록하고 들어오는 호출 화면 상단에 전체 응용 프로그램이 나타나지 않도록하고 싶습니다. Manifest 및 NEW_TASK 플래그에서 SingleTask를 사용하고 모든 종류의 컨텍스트를 사용했습니다. 힌트로, 나는 TrueCaller Android App과 같은 것을하고 싶다.Android 앱의 다른 활동을 시작하지 않고 서비스에서 활동 시작
답변
사용. 그렇지 않으면 앱이 실행중인 경우 해당 활동 (심지어 FLAG_ACTIVITY_NEW_TASK
포함)을 실행하면 기존 작업이 전달되어 그 위에 활동을 추가 할 수 있습니다.
당신이 특정 활동에 대한 매니페스트에 다음을 추가해야합니다 :
android:taskAffinity=""
android:noHistory="true"
android:excludeFromRecents="true"
참고 : noHistory
및 excludeFromRecents
을 설정하면이 작업은 "최근 작업 목록"에 표시되지 않도록합니다.
당신은 대화 주제로 활동 앱의 나머지 부분과는 다른 작업 친화력이 있는지 확인해야합니다 android:launchMode="singleInstance"
도움이되지 않습니다. 문제는'taskAffinity'입니다. 안드로이드는 그의 활동에'launchMode = "singleTask"'이 있더라도 새로운 것을 생성하는 대신 기존 태스크를 앞쪽으로 가져오고있다. 시작 모드를 변경해도 문제가 해결되지 않습니다. 내 대답을 보라. –
클리어링을위한 thx .. +1 .. 나는 singleInstance가 독립 활동을 만들 것이라고 생각했다. – stinepike
그것은해야한다. 하지만 아아, 그렇지 않습니다 :-('taskAffinity'가 다르다면, 문서가 충분히 커버하지 못하는 문제입니다, 불행히도 –
일해 줘서 고마워요. –