Android - глубокая ссылка - получил нулевые категории из-за намерения

Мое приложение можно открыть с помощью глубокой ссылки. При нажатии на ссылку в электронном письме из приложения Outlook для Android открывается мое приложение. Но Intent не содержит категорий. В моей деятельности getIntent().getCategories() возвращает null.

Эта же ссылка отлично работает в приложении Gmail на том же устройстве. Приложение открывается, и getIntent().getCategories() возвращает список с Intent.CATEGORY_BROWSABLE в нем.

Означает ли это, что когда приложение открывается по глубокой ссылке, оно не всегда попадает в категорию Intent?


person Jia Li    schedule 29.08.2018    source источник


Ответы (1)


Убедитесь, что вы получаете getIntent() onResume

@Override
protected void onResume() {
    super.onResume();
    if(getIntent() != null){
       // do something
    }
}

если все еще не повезло, то проверьте на NewIntent

@Override
protected void onNewIntent(Intent intent) {
    super.onNewIntent(intent);
    if(intent != null){
       // do something
    }
}

У меня была такая же проблема, и я полностью забыл о переопределенном методе onNewIntent в своей деятельности.

person Ivan Vovk    schedule 11.04.2019