Android---47---簡訊群發功能,android---47---

來源:互聯網
上載者:User

Android---47---簡訊群發功能,android---47---

提供一個帶列表的對話方塊供使用者選擇群發簡訊的收件者號碼,程式則使用了一個ArrayList<String>集合來儲存所有的收件者的號碼
為了實現群發功能,程式迴圈遍曆ArrayList中的號碼,依次向每個號碼傳送簡訊即可。



public class MainActivity extends Activity {EditText numbers, content;Button select, send;SmsManager smsManager;// 記錄列表ArrayList<String> sendlist = new ArrayList<String>();@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);smsManager = SmsManager.getDefault();numbers = (EditText) findViewById(R.id.numbers);content = (EditText) findViewById(R.id.content);select = (Button) findViewById(R.id.select);send = (Button) findViewById(R.id.send);send.setOnClickListener(new OnClickListener() {@SuppressWarnings("deprecation")@Overridepublic void onClick(View v) {// 一個一個去傳送簡訊for (String number : sendlist) {PendingIntent pi = PendingIntent.getActivity(MainActivity.this, 0, new Intent(), 0);smsManager.sendTextMessage(number, null, content.getText().toString(), pi, null);}Toast.makeText(MainActivity.this, "簡訊群發完成", 8000).show();}});// 選擇連絡人select.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// 查詢連絡人的電話號碼// ContentResolver.query(Uri uri, String[] projection, String// selection, String[] selectionArgs, String sortOrder)final Cursor cursor = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,null, null, null, null);BaseAdapter adapter = new BaseAdapter() {@Overridepublic int getCount() {// TODO Auto-generated method stubreturn cursor.getCount();}@Overridepublic Object getItem(int position) {// TODO Auto-generated method stubreturn position;}@Overridepublic long getItemId(int position) {// TODO Auto-generated method stubreturn position;}@Overridepublic View getView(int position, View convertView,ViewGroup parent) {cursor.moveToPosition(position);CheckBox rb = new CheckBox(MainActivity.this);// 擷取連絡人的電話號碼,並去掉中間的中劃線、空格String number = cursor.getString(cursor.getColumnIndex(CommonDataKinds.Phone.NUMBER)).replace("-", "").replace(" ", "");rb.setText(number);if (isChecked(number)) {rb.setChecked(true);}return rb;}};// 載入list.xml布局檔案對應的view介面View selectView = getLayoutInflater().inflate(R.layout.list,null);// 擷取selectView中名為list的ListView組件final ListView listView = (ListView) selectView.findViewById(R.id.list);listView.setAdapter(adapter);new AlertDialog.Builder(MainActivity.this).setView(selectView).setPositiveButton("確定",new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog,int which) {// 清空sendlist.clear();// 遍曆listView組件的每個清單項目for (int i = 0; i < listView.getCount(); i++) {CheckBox checkBox = (CheckBox) listView.getChildAt(i);// 如果該清單項目被勾選if (checkBox.isChecked()) {// 添加該清單項目的電話號碼sendlist.add(checkBox.getText().toString());}}numbers.setText(sendlist.toString());}}).show();}});}// 判斷某個號碼是否已在群發範圍內public boolean isChecked(String phone) {for (String s1 : sendlist) {if (s1.equals(phone)) {return true;}}return false;}}





聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.