近期做了facebook的分享功能,遇到了很多问题,这里总结一下,供大家参考,不足之处还请大家指正。

facebook分享方式:

1.通过intent调用调用本地facebook应用方式

支持单独分享链接或图片

2.集成facebook SDK调用本地facebook应用方式(这个我掌握的不全,下面只是提供一些参考信息)

支持单独分享链接或图片

参考链接:

http://www.eoeandroid.com/thread-311258-1-1.html

http://blog.csdn.net/gebitan505/article/details/26683671

其实facebook sdk里带的样例“HelloFacebookSample”就是带有链接和图片分享样例的,但是对于图片分享,有一个问题,我改变了app_id之后,就无法分享图片了,这个问题没有找到解决办法; 另外一个需要注意的,样例直接运行补了,会提示应用的hash key不对。

3.集成facebook SDK调用facebook API  (这种方式我没有实际使用,这里只是罗列一下,就不细写了)

详细介绍:

1.通过intent调用调用本地facebook应用方式:

效果图:

1)链接方式

2)图片方式

主要代码:

private void shareLinkToFacebook() {
shareLinkToByType("facebook", "http://www.baidu.com",null);
} private void sharePhotoToFacebook() {
String imageFilePath = "/storage/sdcard1/1.jpg";
shareLinkToByType("facebook", null,imageFilePath);
} private void shareLinkToByType(String partPackageName,String url,String imageFilePath) {
String fullPackageName = getFullPackageName(partPackageName);
if(fullPackageName==null)
return;
Intent intent = new Intent(android.content.Intent.ACTION_SEND);
intent.setPackage(getFullPackageName(partPackageName));
if (isFileExist(imageFilePath)) {
intent.setType("image/*");
intent.putExtra(Intent.EXTRA_STREAM,
Uri.fromFile(new File(imageFilePath)));
}
else
{
intent.setType("text/plain");
intent.putExtra(Intent.EXTRA_TEXT, url);
}
startActivity(Intent.createChooser(intent, "Select"));
} private String getFullPackageName(String packageName) {
Intent intent = new Intent(android.content.Intent.ACTION_SEND);
intent.setType("text/plain");
List<ResolveInfo> resInfo = getPackageManager().queryIntentActivities(
intent, 0);
if (!resInfo.isEmpty()) {
for (ResolveInfo info : resInfo) {
if (info.activityInfo.packageName.toLowerCase().contains(
packageName)
|| info.activityInfo.name.toLowerCase().contains(
packageName)) {
return info.activityInfo.packageName;
}
}
}
return null;
} private boolean isFileExist(String filePath) {
if (filePath != null) {
File file = new File(filePath);
return file.exists();
}
return false;
}





安卓,分享到facebook的若干种方法汇总的更多相关文章

  1. HTML中footer固定在页面底部的若干种方法

    <div class="header"><div class="main"></div></div> <d ...

  2. .net(C#)操作文件的几种方法汇总

    .net(C#)操作文件的几种方法汇总 System.IO命名空间下类的用法:在System.IO名称空间中包含了用于文件输入输出的主要类.File:实用类,提供许多静态方法,用于移动.复制和删除文件 ...

  3. Linux下查看线程数的几种方法汇总

    Linux下查看线程数的几种方法汇总 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Linux下查看某个进程的线程数量 pstree命令以树状图显示进程间的关系(display ...

  4. PHP获取POST数据的几种方法汇总

    一.PHP获取POST数据的几种方法 方法1.最常见的方法是:$_POST['fieldname']; 说明:只能接收Content-Type: application/x-www-form-urle ...

  5. Android数据传递的五种方法汇总

    Android开发中,在不同模块(如Activity)间经常会有各种各样的数据需要相互传递,我把常用的几种 方法都收集到了一起.它们各有利弊,有各自的应用场景. 我现在把它们集中到一个例子中展示,在例 ...

  6. Android数据存储的五种方法汇总

    本文介绍Android中的5种数据存储方式. 数据存储在开发中是使用最频繁的,在这里主要介绍Android平台中实现数据存储的5种方式,分别是: 1 使用SharedPreferences存储数据 2 ...

  7. Win7系统打开服务管理界面的几种方法汇总

    转自:https://www.jb51.net/os/windows/318465.html Win7服务管理包含了计算机操作系统和应用程序提供的所有服务,但是这么多服务并非总是用户所需的.比如打印机 ...

  8. Android项目实战(二):安卓应用程序退出的三种方法

    现在的APP退出的时候都不是让用户点击了“后退键”就退出.防止用户点错了后退键而造成的用户体检不好. 一年前搞的Demo代码不见了,重新写下就当是复习和以后直接拿来用把 目前流行的解决一般分为两种: ...

  9. Android基础知识02—安卓日志工具LogCat的五种方法

    --------Android 02-------- >>> Android的日志工具LogCat    五个方法,记录信息的级别不一样,从低到高为:    1.Log.v()-日志 ...

随机推荐

  1. SQL 使用Cursor(游标)遍历结果集

    使用Cursor(游标)可以在存储过程中遍历select 结果集,对其进行相关的操作. Cursor(游标)语法格式 DECLARE 游标名称 CURSOR FOR SELECT 字段1,字段2,字段 ...

  2. Android EditText的使用及值得注意的地方

    Android上有很多输入法应用,每种输入法都有各自的特点,输入法多数时候是和EditText配合使用,结合我自己的亲身实践分享一下使用EditText过程中遇到的一些问题及解决方法. 设置默认输入法 ...

  3. UML简易看懂

    这是一堂关于UML基础知识的补习课:现在我们做项目时间都太紧了,基本上都没有做过真正的class级别的详细设计,更别提使用UML来实现规范建模了:本篇主要就以前自己一直感觉很迷糊的几种class之间的 ...

  4. Android Studio错误

    晚上一直在折腾android studio这个东西,弄的蛋疼.. 之前是有用的,然后今天闲的没事干,更新了下,反正弄出了一大堆的错误.. 错误:failed to find Build Tools r ...

  5. 最近很火的携程Java 工程师的一道面向对象面试题

    最近这道面试题,传遍程序员各大小园地,本小白特摘抄整理与大家一起学习: 原题: package com.gxlee; public class Base { private String baseNa ...

  6. spring-qualifier解释

    如果一个class有两个对应的beanId,在Autowired的时候,必须指定Qualifier("指定其中一个beanId"). org.springframework.bea ...

  7. cookie有效期到了后,是由浏览器还是由系统还删除的

    Cookie可以保持登录信息到用户下次与服务器的会话,换句话说,下次访问同一网站时,用户会发现不必输入用户名和密码就已经登录了(当然,不排除用户手工删除Cookie).而还有一些Cookie在用户退出 ...

  8. Assembly 'Microsoft.Office.Interop.Excel

    编译的时候报错,都无法通过编译: Assembly 'Microsoft.Office.Interop.Excel, Version=14.0.0.0, Culture=neutral, Public ...

  9. Something About Variable

    CONTENT(目录)    前言      Variable declearation:three rules you can break          1.Don't set var stat ...

  10. 使用shiro安全框架上传文件时用HttpSession获取ServletContext为null问题解决方法。

    <!--在shiroFilter 中加入一下配置--> <init-param> <param-name>targetFilterLifecycle</par ...