本文實例為大家分享了android短信管理器SmsManager的具體代碼,供大家參考,具體內(nèi)容如下
需要注冊的權限
<uses-permission android:name="android.permission.READ_CONTACTS"/> <uses-permission android:name="android.permission.SEND_SMS"/>
群發(fā)短信
package com.android.xiong.groupsend;  import java.util.ArrayList; import java.util.List;  import android.app.Activity; import android.app.AlertDialog; import android.app.PendingIntent; import android.content.DialogInterface; import android.content.Intent; import android.database.Cursor; import android.os.Bundle; import android.provider.ContactsContract; import android.telephony.SmsManager; import android.view.Menu; import android.view.View; import android.view.ViewGroup; import android.view.View.OnClickListener; import android.widget.BaseAdapter; import android.widget.Button; import android.widget.CheckBox; import android.widget.EditText; import android.widget.ListView; import android.widget.Toast;  public class MainActivity extends Activity {    private Button bt1, bt2;   private EditText ed1, ed2;   private SmsManager sManger;   List<String> sendList = new ArrayList<String>();    @Override   protected void onCreate(Bundle savedInstanceState) {     super.onCreate(savedInstanceState);     setContentView(R.layout.activity_main);     bt1 = (Button) findViewById(R.id.bt1);     bt2 = (Button) findViewById(R.id.bt2);     ed1 = (EditText) findViewById(R.id.ed1);     ed2 = (EditText) findViewById(R.id.ed2);     // 獲取SmsManger     sManger = SmsManager.getDefault();     bt1.setOnClickListener(new OnClickListener() {        @Override       public void onClick(View v) {         for (String send : sendList) {           // 創(chuàng)建PendIntent對象           PendingIntent ped = PendingIntent.getActivity(               MainActivity.this, 0, new Intent(), 0);           // 發(fā)送信息           sManger.sendTextMessage(send, null, ed2.getText()               .toString(), ped, null);         }         // 提示消息發(fā)送完畢         Toast.makeText(MainActivity.this, "短信群發(fā)完", Toast.LENGTH_LONG)             .show();       }     });     bt2.setOnClickListener(new OnClickListener() {        @Override       public void onClick(View v) {         // 查看聯(lián)系人的電話號碼         final Cursor cursor = getContentResolver().query(             ContactsContract.CommonDataKinds.Phone.CONTENT_URI,             null, null, null, null);         BaseAdapter adapter = new BaseAdapter() {            @Override           public View getView(int position, View convertView,               ViewGroup parent) {             cursor.moveToPosition(position);             CheckBox rb = new CheckBox(MainActivity.this);             // 獲取聯(lián)系人的電話號碼 并去掉中間的中畫、空格             String number = cursor                 .getString(                     cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER))                 .replace("-", "");             rb.setText(number);             // 如果該號碼已經(jīng)加入發(fā)送人名單,默認勾選該號碼             if (sendList.contains(number)) {               rb.setChecked(true);             }             return rb;           }            @Override           public long getItemId(int position) {             // TODO Auto-generated method stub             return position;           }            @Override           public Object getItem(int position) {             // TODO Auto-generated method stub             return position;           }            @Override           public int getCount() {             // TODO Auto-generated method stub             return cursor.getCount();           }         };         // 加載list.xml布局文件對應的View         View selectView = getLayoutInflater().inflate(R.layout.item,             null);         final ListView listView = (ListView) selectView             .findViewById(R.id.list1);         listView.setAdapter(adapter);         new AlertDialog.Builder(MainActivity.this).setView(selectView).setPositiveButton("確定", new DialogInterface.OnClickListener() {                      @Override           public void onClick(DialogInterface dialog, int which) {             //清空sendList集合             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());                 ed1.append(checkBox.getText().toString()+",");               }             }                        }         }).show();       }     });   }    @Override   public boolean onCreateOptionsMenu(Menu menu) {     // Inflate the menu; this adds items to the action bar if it is present.     getMenuInflater().inflate(R.menu.main, menu);     return true;   }  } <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context=".MainActivity" > <EditText android:id="@+id/ed1" android:layout_width="match_parent" android:layout_height="wrap_content"/> <EditText android:id="@+id/ed2" android:layout_width="match_parent" android:layout_height="wrap_content" /> <Button android:id="@+id/bt2" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="獲取聯(lián)系人"/> <Button android:id="@+id/bt1" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="發(fā)送信息"/> </LinearLayout>
<?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:id="@+id/list1" android:layout_width="match_parent" android:layout_height="wrap_content" > </ListView> </LinearLayout>
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網(wǎng)。
新聞熱點
疑難解答
圖片精選