Как заставить намерение общего ресурса добавить активность в стек задач текущего экземпляра приложения? - PullRequest
0 голосов
/ 28 октября 2018

В настоящее время у меня есть приложение, в котором одно действие (не основное) можно открыть с помощью общих намерений.Это прекрасно работает с фильтром намерений, объявленным в манифесте, единственная проблема заключается в том, что он открывает это действие в отдельном стеке задач (который показывает два экземпляра приложения, запущенного на устройстве, когда пользователь нажимает кнопку обзора системы ...)

<!-- this activity enables the search dialog to initiate searches in itself. -->
    <activity
        android:name=".activities.MainActivity"
        android:label="@string/app_name"
        android:launchMode="singleTask"
        android:theme="@style/AppTheme">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <action android:name="android.intent.action.SEARCH" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
        <!-- enable the search dialog to send searches to it's own activity -->
        <meta-data android:name="android.app.searchable"
                    android:resource="@xml/searchable"
                    android:value=".MainActivity" />
    </activity>

    <!-- Media Player Activity -->
    <activity
        android:name=".activities.MediaPlayerActivity"
        android:launchMode="singleTop"
        android:hardwareAccelerated="true"
        android:configChanges="keyboardHidden|orientation|screenSize"
         >

        <intent-filter
            android:label="@string/app_name">
            <action android:name="android.intent.action.SEND" />
            <category android:name="android.intent.category.DEFAULT" />
            <data
                android:mimeType="text/*"
                android:host="@string/media_host_name"/>

        </intent-filter>

    </activity>

Выше приведена соответствующая часть моего файла манифеста.Я не могу установить MainActivity в качестве родителя MediaPlayerActivity, потому что другие действия могут открыть MediaPlayerActivity, и это может испортить порядок обратного стека.

Как остановить намерение общего ресурса, открывающее новую задачу, и вместо этого добавить действие в верхнюю часть стека текущего приложения?

...