La fuerza de la aplicación se cierra cuando google + no está instalado

Mi requisito es compartir en sitios de redes sociales. Por lo tanto, ya he hecho con Facebook y Twitter. Pero estoy atrapado en Google+ . Tengo el siguiente código para compartir en Google+ , pero la aplicación se forcecloses cuando inicie la actividad. Esto sólo se produce cuando la Google+ app no está instalada en el dispositivo. Sé que esta intención de compartir requiere que Google+ ya esté instalado para iniciar la actividad.

Ahora lo que tengo que hacer es por lo menos para informar al usuario que el google+ compartir requiere ya instalado google+ app través de diálogo o tostada en lugar de obtener la fuerza cerrada (Si es posible haciendo clic en ok en el cuadro de diálogo debe redirigir a google + . Si ya está instalada la aplicación google +, se realiza como de costumbre.

 Intent shareIntent = ShareCompat.IntentBuilder.from(this) .setText("Hello there! This is a pic of the lazy cat") .setType("image/jpeg") .setStream(Uri.parse(path)) .getIntent() .setPackage("com.google.android.apps.plus"); startActivity(shareIntent); 

Cualquier ayuda es apreciada. Gracias por adelantado.

ACTUALIZACIÓN La respuesta a continuación está obsoleta. Ahora puede comprobar si la aplicación de Google+ está instalada a través de la biblioteca de Servicios de Google Play (disponible a través del SDK de Android). Consulte aquí para obtener información sobre cómo añadirlo a su proyecto.

Ejemplo:

 int errorCode = GooglePlusUtil.checkGooglePlusApp(mContext); if (errorCode != GooglePlusUtil.SUCCESS) { //Google+ is either not present or another error occured, show the error dialog GooglePlusUtil.getErrorDialog(errorCode, this, 0).show(); } else{ //Your Google+ related code here } 

ANTIGUA RESPUESTA

Puede crear algún tipo de comprobación para ver si la aplicación de Google+ está instalada:

 public void loadGooglePlus() { if(isGooglePlusInstalled()) { Intent shareIntent = ShareCompat.IntentBuilder.from(this) .setText("Hello there! This is a pic of the lazy cat") .setType("image/jpeg") .setStream(Uri.parse(path)) .getIntent() .setPackage("com.google.android.apps.plus"); startActivity(shareIntent); } else{ //Notify user } } public boolean isGooglePlusInstalled() { try { getPackageManager().getApplicationInfo("com.google.android.apps.plus", 0 ); return true; } catch(PackageManager.NameNotFoundException e) { return false; } } 
  • Integración de Facebook, Twitter y Google+ en la aplicación de Android mediante PhoneGap
  • ¿Cómo comprobar si un usuario ha iniciado sesión en Google+?
  • Com.android.build.transform.api.TransformException con los servicios de google play de android
  • Android Google Plus getCurrentPerson devuelve null
  • Emulador de Android: esta aplicación no se ejecutará sin los servicios de Google Play
  • Gmail inicia sesión en la aplicación Android, profilePhoto siempre nulo?
  • Se produce un error interno al integrar google plus
  • Google Plus GoogleApiClient connect () sin diálogo de selección de cuenta
  • Más una opción de botón compartido hace una entrada vacía
  • Android Google+ no puede obtener el código de autorización
  • El botón de inicio de sesión Android de Google no funciona
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.