經常看到一些軟件有一些共享的按鈕,點擊這個按鈕,就會出現一大推你安裝過軟件列表,比如:微博,短信,藍牙,郵件等。其實實現非常簡單:
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<String> texts=sms.divideMessage(smstext); //逐條發送短信 for(String text:texts) { sms.sendTextMessage(mobile, null, text, null, null); } //發送結果提示 Toast.makeText(SendSMS.this, "發送成功", Toast.LENGTH_LONG).show();