Я написал пример кода, чтобы onNewIntent
метод работал.
Добавьте класс интерфейса для передачи активности фрагмента с помощью фрагмента UserFragmentGeldaufladen
public interface OnNewIntentListener {
void newIntent(Intent intent);
}
, а в активности фрагмента добавьте переменную интерфейса и два метода
private OnNewIntentListener mOnNewIntentListener;
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
if (mOnNewIntentListener != null) {
mOnNewIntentListener.newIntent(intent);
}
}
public void setOnNewIntentListener(OnNewIntentListener onNewIntentListener) {
this.mOnNewIntentListener = onNewIntentListener;
}
Теперь во фрагменте UserFragmentGeldaufladen, добавить метод onCreate. Когда ваше действие запускается впервые, вы должны получить намерение из действия, например @ Dante говорит
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//get first time intent
Intent intent = getActivity().getIntent();
((YourActivity)getActivity()).setOnNewIntentListener(new OnNewIntentListener() {
@Override
public void newIntent(Intent intent) {
//handle your code here for each new intent
}
});
}
Чтобы получить намерение в методе onNewIntent
, обновите свое действие, вызывающее
Intent i = new Intent(context, YourActivity.class);
i.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
//i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); // -> this will be require, if you will be update your fragment from BroadcastReceiver or Service
startActivity(i);
Надеюсь, что вам это поможет.