应用场景:某个手机阅读器程序,读者看到一篇文章,觉得不错,想要与朋友分享 。
应用展现:按手机的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才会被列入可选列表 。
分享到:
相关推荐
这个名为"NativeSFDemo"的示例应用旨在展示这些新特性和功能,帮助开发者更好地理解和利用Android最新的图形技术。 一、Android 12(S)图形系统升级 1. **SurfaceFlinger优化**:在Android 12(S)中,SurfaceFlinger...
这本书采用创新的CC BY-NC-ND授权方式,鼓励读者分享链接,但禁止未经许可的转载或商业使用。 入门章节介绍了Android的基本概念,包括如何安装Android开发工具,并通过实例指导读者开始开发Android应用。读者将学习...
9. Android开发社区的重要性:文档通过提及社区的支持和反馈功能,强调了开发者社区对技术发展和分享知识的重要性。 10. 书号和页码:文档中提到了《Google Android开发入门与实战》的书号(***)和页码(400),这...
7. 转载与分享:描述中提到软件是从网络下载站转载而来,并分享至CSDN这样的技术社区,这表明NZT9可能受到了一定的用户认可,用户间的分享也体现了软件的实用性和口碑。 8. 注意事项:使用此类工具前,用户应确保已...
CSDN是中国的一个知名程序员社区,用户可以分享和下载代码资源。因此,这里可能包含了一个简单的Android HTTP服务器的实现,或者是一个与HTTP服务器相关的应用示例。 标签“player”可能意味着这个项目与媒体播放...
学员可以通过撰写和分享关于课程或活动的文章、学习笔记,被极客班官方平台转载,每篇得1分,最高7分。此外,积极参与课程期间的在线论坛答疑,由论坛管理员在结业时进行评价并计入分数,这鼓励了学员的互动交流和...
标题"转载的一个侧滑删除"表明这是一个关于实现这种功能的资源包,可能是代码示例、库或者教程,而"描述"则说明了这个资源已经上传到某个平台,用于保存和分享。 侧滑删除通常应用于Android和iOS平台上的应用,特别...
先看下效果图,功能虽然简单,但是实现的时候谷歌、百度了很久也没有找到解决方案,提这个问题的人不少,但是回答的人一个也没有,十分郁闷,在此记录,分享给各位。 1.半透明画笔 先按照常规的方法实现一个简单的...
【标签解析】:“安卓学生管理源码”这一标签清晰地定义了这个资源的主题,即它是一个用于Android平台的,专注于学生管理功能的软件源代码。这可能包括学生信息管理、课程安排、成绩管理等功能。 【压缩包内容】:...
这涉及到Android应用开发,主要使用Java或Kotlin语言编写,通过Android Studio集成开发环境,结合BluetoothAdapter API来实现蓝牙功能。 3. **智能控制器硬件设计**:蓝牙房间智能控器.ddb可能是一个数据库文件,...
描述中提到的“转载从网上下的好用东东,直接装到RAM就可以用了”,意味着这个Java VM是可以在互联网上找到的资源,可能是用户分享或开发者发布的免费软件。它可以被下载并直接安装到Palm 650的随机存取内存(RAM)...
Qt是一个功能强大的C++图形用户界面应用程序开发框架,由Qt Company在1991年开发。它支持跨平台开发,意味着用Qt开发的应用程序可以...如果需要转载或分享,必须明确标明原文出处,并且最好联系教程的整理者或原作者。