우리가 아래 텐트 필터와 안드로이드 응용 프로그램을 작성 :Android에서 Gmail을 별도의 작업으로 의도를 실행할 수 있습니까?
: 우리의 응용 프로그램에 대한 링크를받을 Gmail을 <intent-filter>
<action android:name="android.intent.action.SEND" />
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<data
android:host="www.appname.com"
android:scheme="http" />
<data
android:host="www.appname.com"
android:scheme="https" />
</intent-filter>
안드로이드 사용자가 아래 이미지와 같이 우리의 응용 프로그램을 선택할 수 있습니다
그러나 최근 앱을 살펴보면 Google 앱이 Gmail 프로세스 내부에서 실행되고있는 것처럼 보입니다. 이는 우리가 원하지 않는 것입니다. 특히 앱이 이미 실행중인 경우 gmail이 실행중인 프로세스에 앱 의도를 전달하여 앱에로드하려고합니다. Gmail은 프로세스가 그 내부에서 실행되는 응용 프로그램의 내장 (별도의 인스턴스)가 어떻게 응용 프로그램은 자체 프로세스에서 실행되는 동안, 참조 :
텐트 필터에 대한 조언이 크게 감사하겠습니다 해결하기 위해 . 안드로이드 문서는 이런 상황에 전혀 도움이되지 않습니다.
스크린 샷은 프로세스와 관련이 없습니다. 그것은 작업과 관련이 있습니다. https://developer.android.com/guide/components/tasks-and-back-stack.html – CommonsWare
제가 아주 새롭기 때문에 이름 짓기를 도와 주신 @CommonsWare에게 감사드립니다. 기계적 인조 인간. 애플리케이션의 이미 실행중인 작업과 같은 다른 작업에서 Gmail 의도를 완료 할 수 있습니까? 주 활동의 여러 복사본을 실행하는 것은 비용이 많이 들고 잠재적으로 불안정합니다. – spirographer
매니페스트의 ''에'android : launchMode = "singleTask"를 사용해보십시오. –
CommonsWare