您的位置:首页 > 移动开发 > Android开发

Android 群发短信试列

2017-09-16 21:53 232 查看
首先的给权限:<uses-permission android:name="android.permission.SEND_SMS"/>

java 中:

package com.example.test_com.a1;

import java.util.ArrayList;

import android.os.Bundle;
import android.provider.ContactsContract;

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.telephony.gsm.SmsManager;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.Toast;

public class MainActivity extends Activity implements OnClickListener{
EditText numbers,content;
Button select, send;
SmsManager sManager;
ArrayList<String> suendList=new ArrayList<String>();
private ListAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
sManager=SmsManager.getDefault();//打开权限
numbers=(EditText) findViewById(R.id.unmbres);
content=(EditText) findViewById(R.id.content);
select=(Button) findViewById(R.id.select);
send=(Button) findViewById(R.id.send);
send.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
for(String number:suendList){
PendingIntent pi=PendingIntent.getActivity(MainActivity.this, 0, new Intent(), 0);
sManager.sendTextMessage(number, null, content.getText().toString(),pi , null);
}
//发送OK
Toast.makeText(MainActivity.this,"发送完成",Toast.LENGTH_SHORT).show();
}
});
//为selec添加监听器
select.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
final Cursor cursor=getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
null,null, null, null);
BaseAdapter adapter=new BaseAdapter(){

@Override
public int getCount() {
// TODO Auto-generated method stub
return cursor.getCount();
}

@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return position;
}

@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
cursor.moveToPosition(position);
CheckBox rd=new CheckBox(MainActivity.this);
String number=cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER))
.replace("-", "")
.replace(" ", "");
rd.setText(number);
//判断应尽加入
if(isChecked(number)){
rd.setChecked(true);
}
return rd;
};
private boolean isChecked(String phone) {
// TODO Auto-generated method stub
for(String sl:suendList)
{
if(sl.equals(phone))
{
return true;
}
}
return false;
}};
}
});
//加载List。xml布局
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).setNegativeButton("确定",
new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
suendList.clear();
for(int i=0; i<listView.getCount();i++){
CheckBox checkBox=(CheckBox) listView.getChildAt(i);
if(checkBox.isChecked()){
suendList.add(checkBox.getText().toString());
}
numbers.setText(suendList.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;
}

@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub

}

}
xml中:

<RelativeLayout 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:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >

<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" />

<EditText
android:id="@+id/unmbres"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/textView1"
android:layout_below="@+id/textView1"
android:ems="10" >

<requestFocus />
</EditText>

<EditText
android:id="@+id/content"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/unmbres"
android:layout_below="@+id/unmbres"
android:layout_marginTop="37dp"
android:ems="10" />

<Button
android:id="@+id/select"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/content"
android:layout_below="@+id/content"
android:layout_marginTop="35dp"
android:text="Button" />

<Button
android:id="@+id/send"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/select"
android:layout_alignBottom="@+id/select"
android:layout_centerHorizontal="true"
android:text="Button" />

</RelativeLayout>


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:id="@+id/list"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
</ListView>
</LinearLayout>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: