Мое приложение имеет два вида деятельности, скажем MainActivity
и SecondActivity
. Основная деятельность объявляется как android:launchMode="singleInstance"
, и ее ориентация всегда portrait
. У второй активности всегда есть ориентация landscape
.Два действия в диспетчере задач того же приложения
В некоторых устройствах все в порядке, а в диспетчере задач есть только один экземпляр моего приложения, но на некоторых устройствах (например, Samsung S7), когда я запускаю SecondActivity
, в диспетчере задач будут два экземпляра моего приложения как это изображение:
Я думаю, что что-то не так с launchMode
в MainActivty
, но мне нужно, чтобы это было singleInstance
. Любое предложение?
EDIT:
MainActivity в манифесте:
<activity
android:name=".Activities.MainActivity"
android:screenOrientation="portrait"
android:launchMode="singleInstance"
android:theme="@style/AppTheme"
android:windowSoftInputMode="adjustPan">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
и второй:
<activity
android:name=".Activities.SecondActivity"
android:screenOrientation="landscape" />
запускающее код:
Intent intent = new Intent(getActivity(),
intent.putExtra("VideoUri", filmGet.getOutput().getData().getFilmTrailer());
startActivity(intent);
Если это помогает, я запускаю SecondActivity
из фрагмента.
попробуйте изменить режим запуска на singleTop или singleTask. – sharan
как вы начинаете свою новую деятельность? Можете ли вы поделиться «manifest.xml» и «запуск?»? – mallaudin
Мне нужно перезапустить MainActivity из другой активности, поэтому singleTop не то, что я хочу. Кроме того, я где-то читал, что для активности SingleTask каждый раз, когда вы запускаете приложение, активность singleTask выйдет на передний план, и я не хочу этого. –