Skip to content

Instantly share code, notes, and snippets.

@pedrojoya
Last active October 21, 2016 08:16
Show Gist options
  • Save pedrojoya/3918793 to your computer and use it in GitHub Desktop.
Save pedrojoya/3918793 to your computer and use it in GitHub Desktop.
Entrada Intents
final int RC_OTRA = 1;
// Hacemos la llamada, por ejemplo, al hacer click en un botón.
public void onClick(View view) {
// Se usa el método estático de OtraActivity para iniciar dicha
// actividad pasándole los argumentos necesarios (extra dni) y
// el código de petición RC_OTRA.
OtraActivity.startForResult(MainActivity.this, RC_OTRA, "66666666R");
}
@Override
protected void onCreate(Bundle savedInstanceState) {
//...
Intent intencion = getIntent();
Bundle extras = intencion.getExtras();
String dni = extras.getString("dni");
//...
}
@Override
public void finish() {
//...
Intent resultado = new Intent();
resultado.putExtra("nombre", "Baldomero");
setResult(RESULT_OK, resultado);
//...
super.finish();
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == RESULT_OK && requestCode == RC_OTRA) {
if (data.hasExtra("nombre")) {
// Procesamos el resultado (en este caso el nombre).
}
}
//...
}
final int RC_OTRA = 1;
// Hacemos la llamada, por ejemplo, al hacer click en un botón.
public void onClick(View view) {
Intent intencion = new Intent(this, OtraActivity.class);
intencion.putExtra("dni", "66666666R");
startActivityForResult(intencion, RC_OTRA);
}
<activity
android:name=".AlumnoActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="es.iessaladillo.gestion.EDIT_STUDENT" />
<action android:name="es.iessaladillo.gestion.SHOW_STUDENT" />
<action android:name="es.iessaladillo.gestion.NEW_STUDENT" />
</intent-filter>
</activity>
<activity
android:name=".SabeEnviarActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.SEND" />
</intent-filter>
</activity>
Intent intencion = new Intent(MainActivity.this, OtraActivity.class);
intencion.putExtra("nombre", "Baldomero");
intencion.putExtra("edad", 18);
startActivity(intencion);
Intent intencion = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.iessaladillo.es"));
Intent intencion = new Intent(Intent.ACTION_SEND);
intencion.setType("text/plain");
intencion.putExtra(android.content.Intent.EXTRA_TEXT, "Hola a todos");
Intent intencion = getIntent();
if (intencion != null) {
Bundle extras = intencion.getExtras();
if (extras != null) {
if (intencion.hasExtra("nombre") {
String nombre = extras.getString("nombre");
{
if (extras.hasExtra("edad") {
int edad = extras.getInt("edad");
}
// Hacer algo con los datos nombre y edad.
}
}
public class OtraActivity extends AppCompatActivity {
// Constantes.
private static final String EXTRA_NOMBRE = "nombre";
private static final String EXTRA_EDAD = "edad";
...
// Método estático para iniciar la actividad (sin esperar resultado)
public static void start(Context contexto, String nombre, int edad) {
Intent intencion = new Intent(contexto, OtraActivity.class);
intencion.putExtra(EXTRA_NOMBRE, nombre);
intencion.putExtra(EXTRA_EDAD, edad);
contexto.startActivity(intencion);
}
// Método estático para iniciar la actividad (esperando un resultado).
public static void startForResult(Actividad actividad, int requestCode, String nombre, int edad) {
Intent intencion = new Intent(actividad, OtraActivity.class);
intencion.putExtra(EXTRA_NOMBRE, nombre);
intencion.putExtra(EXTRA_EDAD, edad);
actividad.startActivityForResult(intencion, requestCode);
}
...
}
// Desde la actividad MainActivity...
// Se llama a OtraActivity usando su método estático.
OtraActivity.start(MainActivity.this, "Baldomero", 18);
// Si fuera esperando respuesta se haría
OtraActivity.startForResult(MainActivity.this, RC_OTRA, "Baldomero", 18);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment