Я работаю с глубокими ссылками в моем приложении.Если щелкнуть ссылку в сообщении электронной почты, в приложении откроется соответствующая операция.При обратном нажатии он либо возвращается к электронной почте, либо домой (до целевых флагов, которые я использую)Мне нужно, чтобы он вернулся к последнему активному действию (если приложение использовалось до нажатия на ссылку в электронном письме) или (в противном случае) для перехода к первому действию, чтобы перезапустить приложение.
ДляПроясните: пользователь включен активность C .По электронной почте приходит уведомление, проверяет его и нажимает на ссылку внутри.Это открывает активность E .Здесь, если пользователь снова нажал, я хочу завершить текущее задание и возобновить действие C - если задание действия C не было убито системой.Если он убит, перейдите к операции A .
Без флагов намерений, он создаст новую задачу (второй экземпляр приложения) и при повторном нажатии вернется к почтовому клиенту.С флагом NEW_TASK запускаются новые задачи.Если я использую флаг CLEAR_TASK с этим, при повторном нажатии он возвращается домой.
Манифест
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:scheme="https"
android:host="www.mysite.com"
android:pathPattern="/mypath/*" />
</intent-filter>
FirstActivity
if(getIntent().getData().toString().contains("keyword")){
//intent.setFlags(...);
intent.putExtra("myextra", getIntent().getData().toString());
}
startActivity(intent);
finish();
EmailResultActivity
String data = getIntent().getExtras().getString("myextra");