`

Android分享功能(转载)

 
阅读更多

应用场景:某个手机阅读器程序,读者看到一篇文章,觉得不错,想要与朋友分享  。


  应用展现:按手机的Menu键,弹出“分享”菜单,点击后显示一系列Android分享功能的方式(短信、E-mail等)  。

  背景知识:Android上不同程序里面的Activity之间可以互相调用  。你可以在自己的程序中,调用短信程序,发送一条短信  。调用的方式就是向系统提出请求,系统会去调用适当的程序Activity  。

package com.ghstudio.sharetest;  
import java.util.List;  
import android.app.Activity;  
import android.content.Intent;  
import android.content.pm.PackageManager;  
import android.content.pm.ResolveInfo;  
import android.os.Bundle;  
import android.view.Menu;  
import android.view.MenuItem;  
public class Main extends Activity {  
@Override  
public void onCreate(Bundle savedInstanceState) {  
  super.onCreate(savedInstanceState);  
  setContentView(R.layout.main);   
} 
/* 创建菜单 */  
public boolean onCreateOptionsMenu(Menu menu) {  
  menu.add(0,0,0,"分享");   
  return true;  
}  
public boolean onOptionsItemSelected(MenuItem item){  
  switch (item.getItemId()){  
  case 0:  
    Intent intent=new Intent(Intent.ACTION_SEND);  
    //intent.setType("text/plain");  //纯文本
    /*图片分享
    it.setType("image/png");
     //添加图片
     File f = new File(Environment.getExternalStorageDirectory()
       +"/Pictures/2.png");
     Uri u = Uri.fromFile(f);
     it.putExtra(Intent.EXTRA_STREAM, u);


    intent.putExtra(Intent.EXTRA_SUBJECT, "分享");  
    intent.putExtra(Intent.EXTRA_TEXT, "I would like to share this with you...");  
    startActivity(Intent.createChooser(intent, getTitle()));  
    return true;  
  }  
  return false;  
}  
}

 

Android分享功能的代码解析:首先创建一个Options菜单,该菜单只有一个项“分享”  。当点击菜单项时,创建一个Intent  。该Intent设置为发送给支持ACTION_SEND的Activity  。用两个putExtra给Intent设置了SUBJECT和TEXT的数据,再用startActivity方法让系统调用适当的Activity执行之  。createChooser方法接受Intent做参数,也同时接纳了Intent里面要求的filter(ACTION_SEND),只有支持ACTION_SEND的Activity才会被列入可选列表  。




 

 

分享到:
评论

相关推荐

    【Android元宇宙】Android 12(S) 图形显示系统 - 示例应用NativeSFDemo

    这个名为"NativeSFDemo"的示例应用旨在展示这些新特性和功能,帮助开发者更好地理解和利用Android最新的图形技术。 一、Android 12(S)图形系统升级 1. **SurfaceFlinger优化**:在Android 12(S)中,SurfaceFlinger...

    深入淺出 Android 深入浅出 Android 繁体

    这本书采用创新的CC BY-NC-ND授权方式,鼓励读者分享链接,但禁止未经许可的转载或商业使用。 入门章节介绍了Android的基本概念,包括如何安装Android开发工具,并通过实例指导读者开始开发Android应用。读者将学习...

    android NDK 开发总结

    9. Android开发社区的重要性:文档通过提及社区的支持和反馈功能,强调了开发者社区对技术发展和分享知识的重要性。 10. 书号和页码:文档中提到了《Google Android开发入门与实战》的书号(***)和页码(400),这...

    安卓NZT9一键新机软件下载-转载版!DEB

    7. 转载与分享:描述中提到软件是从网络下载站转载而来,并分享至CSDN这样的技术社区,这表明NZT9可能受到了一定的用户认可,用户间的分享也体现了软件的实用性和口碑。 8. 注意事项:使用此类工具前,用户应确保已...

    android http server

    CSDN是中国的一个知名程序员社区,用户可以分享和下载代码资源。因此,这里可能包含了一个简单的Android HTTP服务器的实现,或者是一个与HTTP服务器相关的应用示例。 标签“player”可能意味着这个项目与媒体播放...

    极客班第一期Android专业考核细则1

    学员可以通过撰写和分享关于课程或活动的文章、学习笔记,被极客班官方平台转载,每篇得1分,最高7分。此外,积极参与课程期间的在线论坛答疑,由论坛管理员在结业时进行评价并计入分数,这鼓励了学员的互动交流和...

    转载的一个侧滑删除

    标题"转载的一个侧滑删除"表明这是一个关于实现这种功能的资源包,可能是代码示例、库或者教程,而"描述"则说明了这个资源已经上传到某个平台,用于保存和分享。 侧滑删除通常应用于Android和iOS平台上的应用,特别...

    Android画板 半透明画笔 笔迹叠加效果

    先看下效果图,功能虽然简单,但是实现的时候谷歌、百度了很久也没有找到解决方案,提这个问题的人不少,但是回答的人一个也没有,十分郁闷,在此记录,分享给各位。 1.半透明画笔 先按照常规的方法实现一个简单的...

    6_安卓学生管理源码_

    【标签解析】:“安卓学生管理源码”这一标签清晰地定义了这个资源的主题,即它是一个用于Android平台的,专注于学生管理功能的软件源代码。这可能包括学生信息管理、课程安排、成绩管理等功能。 【压缩包内容】:...

    蓝牙手机控制的懒人专用智能房间控制器设计资料(转载、开源原理图、源码).zip

    这涉及到Android应用开发,主要使用Java或Kotlin语言编写,通过Android Studio集成开发环境,结合BluetoothAdapter API来实现蓝牙功能。 3. **智能控制器硬件设计**:蓝牙房间智能控器.ddb可能是一个数据库文件,...

    palm650用的JAVA VM

    描述中提到的“转载从网上下的好用东东,直接装到RAM就可以用了”,意味着这个Java VM是可以在互联网上找到的资源,可能是用户分享或开发者发布的免费软件。它可以被下载并直接安装到Palm 650的随机存取内存(RAM)...

    Qt教程及软件超级浅显易懂_非常适合初学者.pdf

    Qt是一个功能强大的C++图形用户界面应用程序开发框架,由Qt Company在1991年开发。它支持跨平台开发,意味着用Qt开发的应用程序可以...如果需要转载或分享,必须明确标明原文出处,并且最好联系教程的整理者或原作者。

Global site tag (gtag.js) - Google Analytics