ActionBarSherlock学习笔记——ShareActionProvider
来源:互联网 发布:站长seo查询 编辑:程序博客网 时间:2024/05/21 06:39
ShareActionProvider
1.在menu中加入布局
1 <menu xmlns:android="http://schemas.android.com/apk/res/android" >2 3 <item4 android:id="@+id/menu_item_share_action_provider_action_bar"5 android:actionProviderClass="com.actionbarsherlock.widget.ShareActionProvider"6 android:showAsAction="always"/>7 8 </menu>
2.在设置ShareActionProvider
1 @Override 2 public boolean onCreateOptionsMenu(Menu menu) { 3 // TODO Auto-generated method stub 4 /** 5 * 解析menu布局文件 6 */ 7 getSupportMenuInflater().inflate(R.menu.main, menu); 8 /** 9 * 获得分享item10 */11 MenuItem item = menu12 .findItem(R.id.menu_item_share_action_provider_action_bar);13 /**14 * 获得share对象15 */16 ShareActionProvider provide = (ShareActionProvider) item17 .getActionProvider();18 /**19 * 添加历史记录选项20 */21 provide.setShareHistoryFileName(ShareActionProvider.DEFAULT_SHARE_HISTORY_FILE_NAME);22 /**23 * 添加跳转Intent24 */25 provide.setShareIntent(getShareIntent());26 return super.onCreateOptionsMenu(menu);27 }
3.设置Intent
1 /** 2 * 获得跳转的Intent 3 * 4 * @return 5 */ 6 private Intent getShareIntent() { 7 Intent intent = new Intent(Intent.ACTION_SEND); 8 intent.setType("image/*"); 9 Uri uri = Uri.fromFile(getFileStreamPath("Share.png"));10 intent.putExtra(Intent.EXTRA_STREAM, uri);11 return intent;12 }
4.获得图片
1 /** 2 * 将私有的图片转化为public,将raw中的图片,复制到 /data/data/cn.itcast.action/files/下 3 * 其中的Context.MODE_APPEND:模式会检查文件是否存在,存在就往文件追加内容,否则就创建新文件。 4 * MODE_WORLD_READABLE:表示当前文件可以被其他应用读取; MODE_WORLD_WRITEABLE:表示当前文件可以被其他应用写入 5 */ 6 private void copyPrivateRawResourceToPubliclyAccessibleFile() { 7 InputStream inputStream = null; 8 FileOutputStream outputStream = null; 9 try {10 inputStream = getResources().openRawResource(R.raw.robot);11 outputStream = openFileOutput("Share.png",12 Context.MODE_WORLD_READABLE | Context.MODE_APPEND);13 byte[] buffer = new byte[1024];14 int length = 0;15 try {16 while ((length = inputStream.read(buffer)) > 0) {17 outputStream.write(buffer, 0, length);18 }19 } catch (IOException ioe) {20 /* ignore */21 }22 } catch (FileNotFoundException fnfe) {23 /* ignore */24 } finally {25 try {26 inputStream.close();27 } catch (IOException ioe) {28 /* ignore */29 }30 try {31 outputStream.close();32 } catch (IOException ioe) {33 /* ignore */34 }35 }36 }
0 0
- ActionBarSherlock学习笔记——ShareActionProvider
- ActionBarSherlock学习笔记——初始化控件
- ActionBarSherlock学习笔记——requestWindowFeature
- ActionBarSherlock学习笔记——SearchView
- ActionBarSherlock学习笔记——知识点
- ActionBarSherlock学习笔记——SubMenu
- ActionBarSherlock学习笔记——ActionBar.Tab
- ActionBarSherlock学习笔记 第一篇——部署
- ActionBarSherlock学习笔记 第一篇——部署
- ActionBarSherlock学习笔记——SupportActionBar()属性设置
- ActionBarSherlock学习笔记 第一篇——部署
- ActionBarSherlock学习笔记——添加组件Menu
- ActionBarSherlock学习笔记——ActionBar添加View
- ActionBarSherlock学习笔记——SupportActionBar()属性设置
- ActionBarSherlock的学习笔记
- ShareActionProvider
- ActionBarSherlock — 无缝集成ActionBar
- Android开源项目学习笔记(一)--ActionBarSherlock
- ActionBarSherlock学习笔记——requestWindowFeature
- jzoj 1359. 【2011.12普及模拟】数三角
- ActionBarSherlock学习笔记——SearchView
- 【Leetcode】122. Best Time to Buy and Sell Stock II 【动态规划&贪心】
- tomcat安装步骤以及启动一段时间自动停止
- ActionBarSherlock学习笔记——ShareActionProvider
- C++里读取一行字符串
- ActionBarSherlock学习笔记——知识点
- 使用CoreServlet减少代码编写
- ActionBarSherlock学习笔记——SubMenu
- ActionBarSherlock学习笔记——ActionBar.Tab
- 预测算法——指数平滑法
- Android解析xml——pull
- Listview下拉刷新(顶部刷新)