android - setcolorschemecolors - ¿Cómo mantener una única instancia de actividad pero poder actualizar la vista?
swiperefreshlayout recyclerview (2)
En su manifiesto, use android:launchMode="singleTask"
lugar de android:launchMode="singleInstance"
. El uso de singleInstance solo regresa a la instancia existente si está en la parte superior de la pila. SingleTask , por otro lado, regresa a la instancia existente de la actividad, ya que siempre está en la raíz de la tarea.
Luego, cuando se inicia su instancia, anule onNewIntent
para actualizar su UI de acuerdo con la nueva intención.
Consulte la documentación de Andorid para más detalles.
En mi situación, hay un caso en el que necesito asegurarme de que la actividad solo se ejecute de a una por vez.
Descubrí que si configuro el LauchMode
de la actividad, puedo alcanzar el objetivo de instancia única, pero no actualizará la vista de la actividad.
Esta actividad es iniciada por startActivityForResult
, y enviamos el URI con la intención de la actividad.
Discutamos con este cierto caso:
galería - lauch esta actividad con imageA.
cámara: realice esta actividad con imageB.
Mi pedido no es destruir la actividad anterior, pero la actividad que acaba de recibir la nueva información de intención debe actualizar la vista.
Encontré un nuevo método, onNewIntent
. Este método puede actualizar el intento antes de reanudar. Voy a intentarlo.
Puede tener una actividad con un atributo de manifiesto de singleInstance. Tan pronto como se relanza la actividad, se llama a OnSume. Puede actualizar la vista con la nueva imagen e invalidar la Vista anterior.
<activity ..
android:launchMode= "singleInstance" />