Android New Intent inicio método particular
Quiero iniciar una de mis actividades existentes y obligar a la actividad a llamar a un método específico después de que comenzó.
es posible?
- Manifiesto de Android que genera automáticamente permiso no válido
- Cargar imágenes de la carpeta de activos
- ¿Es posible crear imágenes de forma programática en Java, Android?
- ¿Por qué se llama a mi onResume dos veces?
- Aplicación de realidad aumentada de Android convertir Lista de ubicación desde el punto de pantalla
¿Puedo definir un método que debería ser llamado después de crear la actividad dentro de mi intención?
Por ejemplo, algo así como:
Intent intent = new Intent(this, com.app.max.Home.class.myMethod);
- ¿Compartir un proyecto Android + Eclipse a través de SVN?
- Android: muestra el micrófono sin grabación para obtener la amplitud / nivel en vivo?
- Android Volley Null Pointer Exception
- Cómo dibujar un triángulo lleno en lienzo android?
- ArrayList que agrega artículos nulos automáticamente
- Solicitud httpget con auth
- El depurador de Android oculta una variable local
- Parse.com - Enviar duplicado después de reinstalar la aplicación
No, no creo que puedas tener algo como esto Intención intention = new Intent (this, com.app.max.Home.class.method);
Pero puedes hacerlo
Intent intent = new Intent(this, com.app.max.Home.class); intent.putExtra("methodName","myMethod"); startActivity(intent);
Y luego en la actividad llamada (donde necesita iniciar el método) puede tomar la intención y decidir qué método llamar
@Override protected void onNewIntent(Intent intent) { super.onNewIntent(intent); if(intent.getStringExtra("methodName").equals("myMethod")){ mymethod(); } }
Creo que el siguiente enlace le ayudará. Cambio de actividades
onCreate
este problema utilizando onCreate
lugar de onNewIntent
.
Actividad A:
Intent intent = new Intent(this, com.app.max.Home.class); intent.putExtra("methodName","myMethod"); startActivity(intent);
Com.app.max.Home Actividad:
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.home); if(savedInstanceState == null) { Bundle extras = getIntent().getExtras(); if (extras == null) { //Extra bundle is null }else{ String method = extras.getString("methodName"); if (method.equals("myMethod")) { //Call method here! } } }
Espero que esta solución solucione tu problema
Usted pregunta parece interesante, pero no hay manera de que pueda hacerlo con Intent
. Tienes que entender que cuando onCreate()
una actividad, pasa por un ciclo de vida que es: onCreate()
-> onStart()
– >OnResume()
. Así que lo que puede hacer es iniciar ese método de onResume()
así:
@Override protected void onResume() { super.onResume(); myMethod();//start your method from here }
Sólo estoy tratando de ayudar, dame más información sobre tu problema si este enfoque no resuelve tu problema.