Google Play Developer
Los intentos implicitos nos permiten decirle al sistema que queremos realizar una cierta acción, y que éste nos sugiera cuáles son las aplicaciones disponibles para cumplirla.
Muchas de estas acciones, si necesitan parámetros extra debemos pasarlos como URIs (Uniform Resource Identifier)
Abrir navegador
Intent i = new Intent();
i.setAction(Intent.ACTION_VIEW);
i.setData(Uri.parse("http://www.sebasira.com.ar"));
startActivity(i);
Discar un Numero
Intent i = new Intent();
i.setAction(Intent.ACTION_DIAL);
i.setData(Uri.parse("tel:3413782600"));
startActivity(i);
Llamar por Telefono
<uses-permission android:name="android.permission.CALL_PHONE" />
private void llamar() {
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.CALL_PHONE) !=
PackageManager.PERMISSION_GRANTED) {
String[] permissions = new String[]{Manifest.permission.CALL_PHONE};
ActivityCompat.requestPermissions(this, permissions, SOLICITUD_PERMISO_LLAMAR);
return;
}
Intent i = new Intent();
i.setAction(Intent.ACTION_CALL);
i.setData(Uri.parse("tel:3413782600"));
startActivity(i);
}
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
if (requestCode == SOLICITUD_PERMISO_LLAMAR) {
if (grantResults.length != 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
llamar();
}
}
}
Tomar Foto
Intent i = new Intent();
i.setAction(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(i, CODIGO_SOLICITUD_FOTO);
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == CODIGO_SOLICITUD_FOTO && resultCode == RESULT_OK) {
Bundle extras = data.getExtras();
Bitmap imageBitmap = (Bitmap) extras.get("data");
ImageView foto = (ImageView) findViewById(R.id.foto);
foto.setImageBitmap(imageBitmap);
}
}
Enviar Whatsapp
Intent i = new Intent(Intent.ACTION_SENDTO, Uri.parse("smsto:+5493412110400"));
i.setPackage("com.whatsapp");
startActivity(i);