Como hacer un link al Market para ver una aplicacion o para ver aplicaciones de desarrollador

Objetivo:

Crear un link hacia una aplicación ofrecida en Android Market.

Este tutorial tiene varios pasos muy sencillos: chequear la conexión a internet y acceder a una aplicación en Android Market (muy útil en caso de querer promocionar nuestra version PRO del producto).

Para ello podemos utilizar una simple función exiteConexionIntenet(), que se puede ver en este post.

Aunque se comenta en el post, recordamos que no podemos olvidar los permisos especiales en nuestro AndroidManifest.xml, que también mencionamos más abajo: internet (android.permission.INTERNET) y estado de la red (android.permission.ACCESS_NETWORK_STATE).

Mostramos la función que usaremos:

Código fuente función (Java):

[sourcecode language=”java”]
/**
* Mira si hay conexión a internet.
* Nota: mi.paquete.aqui representa el nombre del paquete de la aplicación. Otro ejemplo sería com.example.es
* Nota2: mi+usuario+aqui representa el usuario que el desarrollador posee en Android Market, donde los espacios
* debemos escribirlos como signos de suma (+)
*/
public void abrirDetallesAplicacionEnMarket(){
if (exiteConexionInternet()){
try{
Intent intent = new Intent(Intent.ACTION_VIEW);
//cargamos la url de una aplicación en Android Market
intent.setData(Uri.parse("market://details?id=mi.paquete.aqui"));
//si lo que deseamos buscar es las aplicaciones de un desarrollador:
//intent.setData(Uri.parse("market://search?q=mi+usuario+aqui"));
startActivity(intent);
}catch(Exception e){
//Si entramos aquí es porque no tiene Market instalado (p.ej. en emuladores)
//la opción sería enviarlos a la página web
Intent intent = new Intent(Intent.ACTION_VIEW);
//cargamos la url de una aplicación en la web de Android Market
intent.setData(Uri.parse("http://market.android.com/details?id=mi.paquete.aqui"));
//si lo que deseamos buscar es las aplicaciones de un desarrollador:
//intent.setData(Uri.parse("http://market.android.com/developer?pub=mi+usuario+aqui"));
startActivity(intent);
}
}else{ //no hay conexión a internet
Toast.makeText(getApplicationContext(), "Para poder realizar esta acción se necesita conexión a Internet.", Toast.LENGTH_LONG).show();
}
}
[/sourcecode]