首页 > android分享软件功能的实现

android分享软件功能的实现

 

 经常看到一些软件有一些共享的按钮,点击这个按钮,就会出现一大推你安装过软件列表,比如:微博,短信,蓝牙,邮件等。其实实现非常简单:

Intent intent=new Intent(Intent.ACTION_SEND); 
intent.setType("text/plain"); //"image/*"
intent.putExtra(Intent.EXTRA_SUBJECT,"共享软件"); 
intent.putExtra(Intent.EXTRA_TEXT, "我在安卓市场发现了个好东东【通讯录】,快来......下载吧!!安卓市场里面还有很多应用来看看吧!");
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
startActivity(Intent.createChooser(intent, "选择分享类型"));

 

 

 

 

 //发邮件   private   void  sendMail(String emailBody){  Intent email =  new  Intent(android.content.Intent.ACTION_SEND);  email.setType( "plain/text" );  String  emailSubject =  "共享软件" ;  //设置邮件默认地址   // email.putExtra(android.content.Intent.EXTRA_EMAIL, emailReciver);   //设置邮件默认标题   
        email.putExtra(android.content.Intent.EXTRA_SUBJECT, emailSubject);  //设置要默认发送的内容   
        email.putExtra(android.content.Intent.EXTRA_TEXT, emailBody);  //调用系统的邮件系统   startActivityForResult(Intent.createChooser(email,  "请选择邮件发送软件" ), 1001 );  }  

 直接发送短信

  //发短信   private   void  sendSMS(){  Uri smsToUri = Uri.parse( "smsto:" );  Intent sendIntent =  new  Intent(Intent.ACTION_VIEW, smsToUri);  //sendIntent.putExtra("address", "123456"); // 电话号码,这行去掉的话,默认就没有电话   sendIntent.putExtra( "sms_body" ,  "我要共享这个软件" );  sendIntent.setType( "vnd.android-dir/mms-sms" );  startActivityForResult(sendIntent, 1002 );  }  

 

EditText num=(EditText)findViewById(R.id.num);EditText content=(EditText)findViewById(R.id.content);String mobile=num.getText().toString();String smstext=content.getText().toString();//获取SmsManager
SmsManager sms=SmsManager.getDefault();//如果内容大于70字,则拆分为多条
List texts=sms.divideMessage(smstext);//逐条发送短信for(String text:texts){sms.sendTextMessage(mobile, null, text, null, null);}                //发送结果提示
Toast.makeText(SendSMS.this, "发送成功", Toast.LENGTH_LONG).show();

 

更多相关:

  • Android Intent的几种用法全面总结 Intent, 用法 Intent应该算是Android中特有的东西。你可以在Intent中指定程序要执行的动作(比如:view,edit,dial),以及程序执行到该动作时所需要的资料。都指定好后,只要调用startActivity(),Android系统会自动寻找最符合你指定要...

  • importjava.security.SecureRandom;importjavax.crypto.Cipher;importjavax.crypto.SecretKey;importjavax.crypto.SecretKeyFactory;importjavax.crypto.spec.DESKeySpec;//结果与DES算...

  • 题目:替换空格 请实现一个函数,把字符串 s 中的每个空格替换成"%20"。 输入:s = "We are happy." 输出:"We%20are%20happy." 限制: 0 <= s 的长度 <= 10000 解题: 时间复杂度:O(n) 空间复杂度:O(n) class Solution { public:s...

  • 在C++11标准库中,string.h已经添加了to_string方法,方便从其他类型(如整形)快速转换成字面值。 例如: for (size_t i = 0; i < texArrSize; i++)RTX_Shader.SetInt(string("TexArr[") + to_string(i) + "]", 7 + i);...

  • Ubuntu 14.04安装并升级之后,变成楷体字体非常难看,我昨天搞了一晚上,终于理了个头绪,这里整理一下。 经过网上调研,大家的一致看法是,使用开源字体库文泉驿的微黑字体效果比较理想,甚至效果不输windows平台的雅黑字体。下面我打算微黑来美化Ubuntu 14.04. 1.安装文泉驿微黑字体库 sudo aptitude...

  • 使用string时发现了一些坑。 我们知道stl 容器并不是线程安全的,所以在使用它们的过程中往往需要一些同步机制来保证并发场景下的同步更新。 应该踩的坑还是一个不拉的踩了进去,所以还是记录一下吧。 string作为一个容器,随着我们的append 或者 针对string的+ 操作都会让string内部的数据域动态增加,而动态增加的...

  • 使用netstat -nap可以查看当前发送和接收队列,Send-Q 很高时表示发送队列太长,可能网络阻塞     转载于:https://www.cnblogs.com/wx170119/p/11606909.html...

  • 设计的板子到了SRIO调试阶段了,在板子上,一片V6和两片6678通过4XSRIO互联,中间没有Switch,总算搞定了相互之间的通信。  首先,感谢Ti论坛提供的SRIO程序范例,但是其硬件平台是EVM板,更多的只能用于loopback测试,但是可以在其基础上修改。 1.初始化DSP的SRIO,主要是对SerDes进行配置,然后是...