Android Facebook share: actividad no encontrada

Tengo problema con mi función para publicar datos en Facebook:

public void postData() { try { Intent i = new Intent(Intent.ACTION_SEND); i.setClassName("com.facebook.katana", "com.facebook.katana.ShareLinkActivity"); i.setType("text/*"); i.putExtra(android.content.Intent.EXTRA_TEXT, "http://sample_url.com"); startActivity(i); } catch (Exception e) { Intent i= new Intent(Intent.ACTION_VIEW); i.setData(Uri.parse("http://sample_url.com)); startActivity(i); } } 

Cada vez que recibo información de que la actividad com.facebook.katana.ShareLinkActivity no se puede ejecutar y debo agregar código al manifiesto de Android. La aplicación de Facebook está instalada en el teléfono.

En AndroidManifest.xml:

  <activity android:name="com.facebook.katana.ShareLinkActivity" > </activity> 

Excepción en LogCat:

 01-30 14:46:00.903: E/AndroidRuntime(11626): FATAL EXCEPTION: main 01-30 14:46:00.903: E/AndroidRuntime(11626): android.content.ActivityNotFoundException: Unable to find explicit activity class {com.facebook.katana/com.facebook.katana.ShareLinkActivity}; have you declared this activity in your AndroidManifest.xml? 01-30 14:46:00.903: E/AndroidRuntime(11626): at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1634) 01-30 14:46:00.903: E/AndroidRuntime(11626): at android.app.Instrumentation.execStartActivity(Instrumentation.java:1510) 01-30 14:46:00.903: E/AndroidRuntime(11626): at android.app.Activity.startActivityFromChild(Activity.java:3531) 01-30 14:46:00.903: E/AndroidRuntime(11626): at android.app.Activity.startActivityForResult(Activity.java:3283) 01-30 14:46:00.903: E/AndroidRuntime(11626): at android.app.Activity.startActivity(Activity.java:3370) 

Finalmente conseguí este código para trabajar:

  Intent sharingIntent = new Intent(Intent.ACTION_SEND); sharingIntent.setType("text/plain"); sharingIntent.putExtra(Intent.EXTRA_SUBJECT, "Subject"); sharingIntent.putExtra(Intent.EXTRA_TEXT, "Text..."); sharingIntent.setPackage("com.facebook.katana"); startActivity(sharingIntent); 

Los puntos principales son setPackage y setType – ahora Android elige la actividad correcta del paquete de Facebook.

para todos los que están usando el appcelerator aquí cómo lo consiguió para trabajar …

 var intFB = Ti.Android.createIntent({ action : Ti.Android.ACTION_SEND, packageName : "com.facebook.katana", type : "text/plain" }); intFB.putExtra(Ti.Android.EXTRA_TEXT, "http://www.google.com"); //facebook only supports LINKS(!!!) Ti.Android.currentActivity.startActivity(intFB); 

Sí … debe declarar el archivo com.facebook.katana.ShareLinkActivity en AndroidManifest.xml . Esto debe hacer.

Editar:

O o … problema se encuentra en el método setClassName . Reemplazar la siguiente línea

  i.setClassName("com.facebook.katana","com.facebook.katana.ShareLinkActivity"); 

Con este:

  i.setClassName("com.facebook.katana","ShareLinkActivity"); 

Como segundo parámetro en el método es className y usted también estaba pasando el nombre del paquete con el nombre de la clase que el depurador no pudo encontrar. Como nombre de clase es ShareLinkActivity no com.facebook.katana.ShareLinkActivity .

Esto finalmente resolverá su problema.

Sólo para que todos estamos en la misma página con esto. Facebook ha intencionalmente roto esto y se niega a arreglarlo y la vergüenza en ellos por hacerlo.

https://developers.facebook.com/bugs/332619626816423

  • Inicio de sesión de Android Facebook y servidor web
  • ¿Cómo puedo compartir contenido en la pared de Facebook con su SDK de Android?
  • Facebook Dialog en android No viene
  • Redireccionar a los usuarios a la tienda de aplicaciones de iTunes oa la tienda de Google Play Store?
  • La propiedad personalizada de mi objeto gráfico personalizado abierto no se muestra en el cuadro de diálogo compartido
  • Android Facebook inicio de sesión único - múltiples hashes clave posible?
  • facebook login Servicio no registrado
  • NullPointerException al iniciar sesión con Facebook SDK y ParseFacebookUtils
  • Compartir texto vía Intent en Facebook sin utilizar Facebook sdk
  • Error de "ANDROID_BUILD_SDK_VERSION" con Facebook SDK
  • Obtener permisos de lectura y publicación en una solicitud
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.