安卓,分享到facebook的若干种方法汇总
近期做了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的若干种方法汇总的更多相关文章
- HTML中footer固定在页面底部的若干种方法
<div class="header"><div class="main"></div></div> <d ...
- .net(C#)操作文件的几种方法汇总
.net(C#)操作文件的几种方法汇总 System.IO命名空间下类的用法:在System.IO名称空间中包含了用于文件输入输出的主要类.File:实用类,提供许多静态方法,用于移动.复制和删除文件 ...
- Linux下查看线程数的几种方法汇总
Linux下查看线程数的几种方法汇总 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Linux下查看某个进程的线程数量 pstree命令以树状图显示进程间的关系(display ...
- PHP获取POST数据的几种方法汇总
一.PHP获取POST数据的几种方法 方法1.最常见的方法是:$_POST['fieldname']; 说明:只能接收Content-Type: application/x-www-form-urle ...
- Android数据传递的五种方法汇总
Android开发中,在不同模块(如Activity)间经常会有各种各样的数据需要相互传递,我把常用的几种 方法都收集到了一起.它们各有利弊,有各自的应用场景. 我现在把它们集中到一个例子中展示,在例 ...
- Android数据存储的五种方法汇总
本文介绍Android中的5种数据存储方式. 数据存储在开发中是使用最频繁的,在这里主要介绍Android平台中实现数据存储的5种方式,分别是: 1 使用SharedPreferences存储数据 2 ...
- Win7系统打开服务管理界面的几种方法汇总
转自:https://www.jb51.net/os/windows/318465.html Win7服务管理包含了计算机操作系统和应用程序提供的所有服务,但是这么多服务并非总是用户所需的.比如打印机 ...
- Android项目实战(二):安卓应用程序退出的三种方法
现在的APP退出的时候都不是让用户点击了“后退键”就退出.防止用户点错了后退键而造成的用户体检不好. 一年前搞的Demo代码不见了,重新写下就当是复习和以后直接拿来用把 目前流行的解决一般分为两种: ...
- Android基础知识02—安卓日志工具LogCat的五种方法
--------Android 02-------- >>> Android的日志工具LogCat 五个方法,记录信息的级别不一样,从低到高为: 1.Log.v()-日志 ...
随机推荐
- SKKeyframeSequence类
继承自 NSObject 符合 NSCodingNSCopyingNSObject 框架 /System/Library/Frameworks/SpriteKit.framework 可用性 可用于 ...
- SKEffectNode类
继承自 SKNode:UIResponder:NSObject 符合 NSCoding(SKNode)NSCopying(SKNode)NSObject(NSObject) 框架 /System/L ...
- 天圆地方· 围棋界的盲棋天才 -- 鲍云
"鲍云是我心目中继 本因坊秀策,吴清源.武宫正树后第四个我最喜欢的棋手. " 说到盲棋,棋迷们首先想到的绝对是柳大华,外号"东方电脑"的他创造过中国象棋1对19 ...
- Hibernate的fetch
hibernate抓取策略fetch具体解释一.hibernate抓取策略(单端代理的批量抓取fetch=select(默认)/join)測试用例:Student student = (Student ...
- MySQL定时备份之使用Linux下的crontab定时备份实例
这篇文章主要介绍了使用Linux下的crontab进行MySQL定时备份的例子,需要的朋友可以参考下 复制代码代码如下: ##################################### ...
- 导出可执行的jar
1.在你要导出的项目上单击右键,在弹出的右键菜单里选择:Export…选项. 2.在弹出的对话框里选择:,然后点击下边的Next; 3.在弹出的对话框里,点击选择导出后的jar存储路径以及文件名.(其 ...
- 大数据笔记07:大数据之Hadoop的HDFS(特点)
1. HDFS的特点: (1)数据冗余,硬件容错 (2)流式的数据访问(写一次读多次,不能直接修改已写入的数据,只能删除之后再去写入) (3)存储大文件 2. HDFS适用性和局限性 适用性:(1)适 ...
- NuGet学习笔记(1)——初识NuGet及快速安装使用(转)
关于NuGet园子里已经有不少介绍及使用经验,本文仅作为自己研究学习NuGet一个记录. 初次认识NuGet是在去年把项目升级为MVC3的时候,当时看到工具菜单多一项Library Package M ...
- ASP.NET-FineUI开发实践-4(二)
在网上找了找,实验了一下window弹出和关闭的动画效果分享一下. 接上次的代码 default.js window_tips.animCollapse= true;//打开动画效果 window_t ...
- Remoting 的“传递的引用”理解
WCf是集大成者,具有其他微软的很多技术,其中分布式上很多借助于Remoting,所以研究一下Remoting有助于理解WCF 提到Remoting就不得不涉及到MarshalByRefObject这 ...