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.
- Ingresar a Facebook sin problemas
- Cómo mantenerse conectado a facebook en una aplicación de Android
- Facebook Compartir imagen Url junto con el enlace en android
- Botón de inicio de sesión de Facebook sin identificador de recursos
- Facebook SDK v3.5.2 - Solicitar permisos desde una sesión cerrada
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)
- Biblioteca común en android para compartir en las redes sociales?
- La aplicación está mal configurada para el inicio de sesión de Facebook con la tecla de liberación Hash
- Android: Cómo ocultar el círculo de progreso en Facebook login
- La previsualización de la imagen de Facebook solo falta cuando compartes desde Android
- Botón de inicio personalizado de Facebook en el estudio android
- Gráfica Api no obtener ubicación de Facebook SDK en Android
- No se puede acceder a Facebook debido a un error de token de acceso no válido usando el módulo Facebook de Titanium
- Cómo abrir la ventana de chat de mensajería de Facebook con el identificador de la aplicación en android
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.
- arm-linux-androideabi-g ++. exe: CreateProcess: No hay tal error de archivo o directorio
- GridLayout en Android 2.0?