Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

242
Vistas
Acceso directo estático de la aplicación de Android con la biblioteca de navegación

Mi aplicación tiene un acceso directo estático y estoy usando el componente de arquitectura de navegación.

Estoy usando la siguiente implementación pero no funciona en Android 9.

En mi actividad principal:

 override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) setupToolbar() setupNavigationDrawer() checkPermissions() if (intent.action == MoneyBook.SHORTCUT_ACTION_ADD_BOOKENTRY) { findNavController(R.id.nav_host_fragment).popBackStack(R.id.action_entriesFragment_to_newBookEntryFragment, false) } }

atajos.xml:

 <shortcuts xmlns:android="http://schemas.android.com/apk/res/android"> <shortcut android:enabled="true" android:icon="@drawable/ic_shortcut_addbookentry" android:shortcutId="shortcut_addbookentry" android:shortcutLongLabel="@string/shortcut_addbookentry_label_short" android:shortcutShortLabel="@string/shortcut_addbookentry_label_short"> <intent android:action="at.guger.moneybook.action.ADD_BOOKENTRY" android:targetClass="at.guger.moneybook.activity.MainActivity" android:targetPackage="at.guger.moneybook.dev" /> </shortcut> </shortcuts>

Al depurar la aplicación, noté que se llama al método findNavController(...) , pero no sucede nada en la pantalla.

Además, no onStart(...) o onResume(...) .

¿Hay alguna forma de implementar accesos directos de aplicaciones con el componente de navegación o estoy haciendo algo terriblemente mal aquí?

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

La navegación no admite enlaces profundos solo por intent.action . Sin embargo, puede agregar un elemento android:data a su elemento <intent> y luego agregar un enlace profundo implícito a su gráfico de navegación. Al hacer esto, no tendrá que escribir ningún código específico para manejar el Intent.

Por ejemplo, cambie su shortcuts.xml para agregar el atributo android:data :

 <intent android:action="at.guger.moneybook.action.ADD_BOOKENTRY" android:targetClass="at.guger.moneybook.activity.MainActivity" android:targetPackage="at.guger.moneybook.dev" android:data="moneybook://add_book_entry" />

y en su archivo XML de gráficos de navegación, agregue un elemento <deepLink> para la misma URL:

 <fragment android:id="@+id/add_book_entry_fragment" android:name=".AddBookEntryFragment"> <deepLink app:uri="moneybook://add_book_entry" /> </fragment>
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda