经常看到一些软件有一些共享的按钮,点击这个按钮,就会出现一大推你安装过软件列表,比如:微博,短信,蓝牙,邮件等。其实实现非常简单:
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字,则拆分为多条 Listtexts=sms.divideMessage(smstext);//逐条发送短信for(String text:texts){sms.sendTextMessage(mobile, null, text, null, null);} //发送结果提示 Toast.makeText(SendSMS.this, "发送成功", Toast.LENGTH_LONG).show();