群发短信
2013-11-06 11:49
239 查看
package com.example.sendmessage; import java.util.ArrayList; import java.util.List; import android.net.Uri; import android.os.Bundle; import android.provider.ContactsContract; import android.app.Activity; import android.app.AlertDialog; import android.app.PendingIntent; import android.content.ContentResolver; import android.content.DialogInterface; import android.content.Intent; import android.database.Cursor; import android.telephony.SmsManager; import android.view.KeyEvent; import android.view.Menu; import android.view.View; import android.view.ViewGroup; import android.view.View.OnLongClickListener; import android.widget.BaseAdapter; import android.widget.CheckBox; import android.widget.EditText; import android.widget.ListView; import android.widget.Toast; public class MainActivity extends Activity { private EditText number,content; private SmsManager sms; private List<String>numberList = new ArrayList<String>(); protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); number = (EditText)this.findViewById(R.id.number); content = (EditText)this.findViewById(R.id.content); sms = SmsManager.getDefault(); number.setOnLongClickListener(listener); } public void send(View view){ String nb = number.getText().toString(); String ct = content.getText().toString(); ArrayList<String> msgs = sms.divideMessage(ct); PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, new Intent(), 0); for (String msg : msgs) { sms.sendTextMessage(nb, null, msg, pendingIntent, null); } Toast.makeText(this, "发送成功", Toast.LENGTH_LONG).show(); /*try { Thread.sleep(5000); this.finish(); } catch (InterruptedException e) { e.printStackTrace(); }*/ } private OnLongClickListener listener = new OnLongClickListener() { public boolean onLongClick(View view) { Uri uri = ContactsContract.CommonDataKinds.Phone.CONTENT_URI; ContentResolver resolver = MainActivity.this.getContentResolver(); final Cursor cursor = resolver.query(uri, null, null, null, null); System.out.println("size="+cursor.getCount()); while(cursor.moveToNext()){ String num = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)); System.out.println("------>"+num); } BaseAdapter adapter = new BaseAdapter() { public View getView(int position, View view, ViewGroup group) { cursor.moveToPosition(position); String cb_num = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)); CheckBox cb = new CheckBox(MainActivity.this); cb.setText(cb_num); if(isChecked(cb_num)){ cb.setChecked(true); } return cb; } private boolean isChecked(String cb_num) { for (String n : numberList) { if(cb_num.equals(n)){ return true; } } return false; } public long getItemId(int position) { return position; } public Object getItem(int position) { return position; } public int getCount() { return cursor.getCount(); } }; View selectView = getLayoutInflater().inflate(R.layout.list, null); final ListView listview = (ListView)selectView.findViewById(R.id.list); listview.setAdapter(adapter); new AlertDialog.Builder(MainActivity.this) .setView(selectView) .setPositiveButton("确定", new AlertDialog.OnClickListener() { public void onClick(DialogInterface dialog, int which) { numberList.clear(); for (int i = 0; i < listview.getCount(); i++) { CheckBox listcb = (CheckBox)listview.getChildAt(i); if(listcb.isChecked()){ numberList.add(listcb.getText().toString()); } } number.setText(numberList.toString()); } }).show(); return true; } }; }布:
list.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <ListView android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/list" /> </LinearLayout>main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="match_parent" android:orientation="vertical" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="发送号码" /> <EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/number" android:inputType="number" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="内容" /> <EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:minLines="4" android:id="@+id/content" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="发送" android:onClick="send" /> </LinearLayout>
相关文章推荐
- 群发短信“达人”—凌凯短信平台
- Android 获取SIM卡信息,以及短信的发送和群发
- 短信群发
- android 调用系统,群发短信
- Android-->发送短信页面实现(短信发送以及群发和从电话本中选择联系人)-----------》2
- Android 群发短信
- 任信了:106短信平台群发消息是怎么收费的?
- 网关短信 群发 为什么卡发短信 群发 贵 ?
- 用CMSS指令提高串口群发短信的效率
- 使用SmsManager服务群发短信
- 接入slidingmenu的应用之短信群发功能的实现
- Java实现短信验证码和国际短信群发功能的示例
- 群发短信在物流快递行业的应用
- K/3 Wise 群发短信配置和开发(一)之短信平台配置
- 短信群发接口测试(C#+get/post)
- 支付宝赚钱红包的神器之短信群发
- 一个简单的PHP短信群发